public class EratostheneTest extends junit.framework.TestCase { public EratostheneTest() { System.out.println( "Ne vérifie ni run() ni affiche() !" ); } protected void setUp() // throws java.lang.Exception { } protected void tearDown() // throws java.lang.Exception { } public void testInitV() { final int SUP = 20; boolean[] tab = new boolean[SUP+1]; for ( int i=0; i<=SUP; i++ ) tab[i] = false; Eratosthene.initV( tab, SUP ); for ( int i=2; i<=SUP; i++ ) assertTrue( "Case "+i+" non initialisée !", tab[i] ); } public void testRaye() { // 0 1 2 3 4 5 6 7 8 9 boolean[] res = { false, false, true, true, false, true, false, true, false, false, // 10 11 12 13 14 15 16 17 18 19 20 false, true, false, true, false, false, false, true, false, true, false }; final int SUP = res.length-1; boolean[] tab = new boolean[SUP+1]; Eratosthene.initV( tab, SUP ); Eratosthene.raye( tab, SUP ); for ( int i=2; i<=SUP; i++ ) assertEquals( "Résultat incorrect pour "+i+" !", res[i], tab[i] ); } public void testPrepare() { // 0 1 2 3 4 5 6 7 8 9 boolean[] res = { false, false, true, true, false, true, false, true, false, false, // 10 11 12 13 14 15 16 17 18 19 20 false, true, false, true, false, false, false, true, false, true, false }; final int SUP = res.length-1; boolean[] tab = Eratosthene.prepare( SUP ); assertFalse( "Taille insuffisante car la case 0 est non utilisée !", SUP == tab.length ); assertEquals( "Taille du tableau incorrecte !", SUP+1, tab.length ); for ( int i=2; i<=SUP; i++ ) assertEquals( "Résultat incorrect pour "+i+" !", res[i], tab[i] ); } public void testEstPremier() { // 0 1 2 3 4 5 6 7 8 9 boolean[] res = { false, false, true, true, false, true, false, true, false, false, // 10 11 12 13 14 15 16 17 18 19 20 false, true, false, true, false, false, false, true, false, true, false }; final int SUP = res.length-1; for ( int i=2; i<=SUP; i++ ) assertEquals( "Résultat incorrect pour "+i+" !", res[i], Eratosthene.estPremier( i ) ); } }