Bonjour,
Dans le cadre d'un programme java sur lequel j'aimerais écrire des test JUnits je rencontre une difficulté au moment de comparer les éléments de mon ArrayList<Integer[]> actual (ici appelée v1) et expected. Le problème est le suivant:
Une fonctions listeObstacles renvoie une ArrayList<Integer[]> et je veux vérifier que l'ensemble des éléments renvoyés est identique à celui que j'avais prévu. Seulement, lorsque je test l'égalité de mes éléments on me renvoie systématiquement false alors que quand j'affiche les éléments des deux ArrayList, je peux constater qu'ils sont identiques. Je vous mets le code et le résultat renvoyé ci-dessous:
résultat:Code:public static void main(String[] args) { // TODO Auto-generated method stub int[][] M=new int[][] {{1,1,1,0,1},{1,0,0,1,0},{0,1,1,0,0},{1,0,1,0,0},{0,0,0,0,0}}; ArrayList<Integer[]> v1=Detecteur.voisins(M, 0, 0); ArrayList<Integer[]> expected1=new ArrayList<Integer[]>(); expected1.add(new Integer[] {0,1}); expected1.add(new Integer[] {1,0}); for(Integer[] k: v1) { System.out.println(expected1.contains(k)); } System.out.println("-------------------------------------"); for(Integer[] k1:v1) { System.out.println(k1[0]+" "+k1[1]); } System.out.println("-------------------------------------"); for(Integer[] e1:expected1) { System.out.println(e1[0]+" "+e1[1]); }
false
false
-------------------------------------
0 1
1 0
-------------------------------------
0 1
1 0
Si quelqu'un pouvait m'expliquer où se situe mon erreur ce serrais super sympa.
-----