public class MainListe { //il faudrait écrire ces 2 méthodes avec une seule, //mais je montre volontairement une solution un peu naïve private static void testListeListe(int numQuestion, Liste outputAlgo, Liste solution){ String status = ""; if(outputAlgo.toString().equals(solution.toString())){ status = "OK"; } else{ status = "KO"; } System.out.println("Question "+numQuestion+ "\t" + status); } private static void testBoolBool(int numQuestion, boolean outputAlgo, boolean solution){ String status = ""; if(outputAlgo == solution){ status = "OK"; } else{ status = "KO"; } System.out.println("Question "+numQuestion+ "\t" + status); } public static void main (String args[]) { /////////// QUESTION 1.10 ///////////// //test 1 : pair en premier, impair à la fin int[] tab1 = {4, 6, 1, 8, 2, 3}; Liste L1 = new Liste (tab1); int[] tabsol1 = {1,3}; Liste sol1 = new Liste (tabsol1); Liste res1 = L1.extraireImpairs(); MainListe.testListeListe(10,res1,sol1); //test 2 : impair en premier, pair à la fin tab1 = new int[]{3, 5, 2, 3, 4, 8}; L1 = new Liste (tab1); tabsol1 = new int[]{3,5,3}; sol1 = new Liste (tabsol1); res1 = L1.extraireImpairs(); MainListe.testListeListe(10,sol1,res1); //test 3 : que des impairs tab1 = new int[]{3, 5, 7}; L1 = new Liste (tab1); tabsol1 = new int[]{3,5,7}; sol1 = new Liste (tabsol1); res1 = L1.extraireImpairs(); MainListe.testListeListe(10,sol1,res1); //test 4 : que des pairs tab1 = new int[]{4, 6, 8}; L1 = new Liste (tab1); sol1 = new Liste (); res1 = L1.extraireImpairs(); MainListe.testListeListe(10,sol1,res1); System.out.println(); /////////// QUESTION 1.11 ///////////// //test 1 : suppression milieu tab1 = new int[]{4, 6, 1, 8, 3}; L1 = new Liste (tab1); tabsol1 = new int[]{4,6,8,3}; sol1 = new Liste (tabsol1); res1 = L1.supprOcc(1); MainListe.testListeListe(11,res1,sol1); //test 2 : suppression début a) tab1 = new int[]{4, 6, 1, 8, 3}; L1 = new Liste (tab1); tabsol1 = new int[]{6, 1, 8,3}; sol1 = new Liste (tabsol1); res1 = L1.supprOcc(4); MainListe.testListeListe(11,res1,sol1); //test 3 : suppression début b) tab1 = new int[]{4}; L1 = new Liste (tab1); sol1 = new Liste (); res1 = L1.supprOcc(4); MainListe.testListeListe(11,res1,sol1); //test 4 : suppression fin tab1 = new int[]{4,5,6,7}; L1 = new Liste (tab1); tabsol1 = new int[]{4, 5, 6}; sol1 = new Liste (tabsol1); res1 = L1.supprOcc(7); MainListe.testListeListe(11,res1,sol1); System.out.println(); /////////// QUESTION 1.13 ///////////// //test 1 : sous chaine tab1 = new int[]{4, 6, 1, 8, 3}; L1 = new Liste (tab1); int[] tab2 = {6,1,8}; Liste L2 = new Liste(tab2); boolean solb = false; boolean resb = L1.isClone(L2); MainListe.testBoolBool(13,resb,solb); //test 2 : sur chaine tab1 = new int[]{6, 1, 8}; L1 = new Liste (tab1); tab2 = new int[]{6,1,8,10}; L2 = new Liste(tab2); solb = false; resb = L1.isClone(L2); MainListe.testBoolBool(13,resb,solb); //test 3 : vrais clones tab1 = new int[]{6, 1, 8}; L1 = new Liste (tab1); tab2 = new int[]{6,1,8}; L2 = new Liste(tab2); solb = true; resb = L1.isClone(L2); MainListe.testBoolBool(13,resb,solb); } }