Bonjour à tous, je vous contacte car je bloque sur un point
Je n'arrive pas à trier sur plusieurs champs dans une arraylist à l'intérieur d'un test unitaire ...
expResult et result devraient me renvoyer la liste dans le même ordre, mais cela ne fonctionne pas
Je vous poste mon code :Et le résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 public void testGetListeAuteurs() { System.out.println("getListeAuteurs"); Auteur a1 = new Auteur("Jean", "Michel", 1992, "Français"); Auteur a2 = new Auteur("Jeane", "Michelle", 1993, "Française"); BiblioModele instance = new BiblioModele(); List<Auteur> expResult = new ArrayList<>(); instance.listeAuteurs.put(a1.getNom() + a1.getPrenom() + a1.getAnnee(), a1); instance.listeAuteurs.put(a2.getNom() + a2.getPrenom() + a2.getAnnee(), a2); expResult.add(a1); expResult.add(a2); List<Auteur> result = instance.getListeAuteurs(); // ===> trier sur nom,prénom,année System.out.println(expResult + "expResult before"); System.out.println(result + "result before"); expResult.stream().sorted(Comparator.comparing(Auteur::getNom).thenComparing(Auteur::getPrenom).thenComparing(Auteur::getAnnee)); result.stream().sorted(Comparator.comparing(Auteur::getNom).thenComparing(Auteur::getPrenom).thenComparing(Auteur::getAnnee)); //expResult.sort((aa, ab) -> aa.getPrenom().compareTo(ab.getPrenom())); //result.sort((aa, ab) -> aa.getPrenom().compareTo(ab.getPrenom())); System.out.println(expResult + "expResult after"); System.out.println(result + "result after"); assertEquals(expResult, result); // TODO review the generated test code and remove the default call to fail. //fail("The test case is a prototype."); }
[nom=Jean - prenom:Michel - annee de naissance:1992 - langue:Français, nom=Jeane - prenom:Michelle - annee de naissance:1993 - langue:Française]expResult before
[nom=Jeane - prenom:Michelle - annee de naissance:1993 - langue:Française, nom=Jean - prenom:Michel - annee de naissance:1992 - langue:Français]result before
[nom=Jean - prenom:Michel - annee de naissance:1992 - langue:Français, nom=Jeane - prenom:Michelle - annee de naissance:1993 - langue:Française]expResult after
[nom=Jeane - prenom:Michelle - annee de naissance:1993 - langue:Française, nom=Jean - prenom:Michel - annee de naissance:1992 - langue:Français]result after
Partager