2010-06-19 4 views

Répondre

2

Il suffit de mettre vos valeurs attendues dans un ensemble et puis utilisez assertEquals sur l'ensemble attendu et réel. Cela fonctionne un charme, par exemple.

Set<String> expected = new HashSet<String>(Arrays.asList("expected", "items")); 
... 
Set<String> actual = ...; 
Assert.assertEquals(expected, actual); 
+0

Hé, ouais. Je ne savais pas que tu pouvais faire ça. A partir de Java 6 AbstractSet javadocs: – Risser

+0

Compare l'objet spécifié avec cet ensemble pour l'égalité. Retourne vrai si l'objet donné est aussi un ensemble, les deux ensembles ont la même taille, et chaque membre de l'ensemble donné est contenu dans cet ensemble. Cela garantit que la méthode equals fonctionne correctement sur les différentes implémentations de l'interface Set. Cette implémentation vérifie d'abord si l'objet spécifié est cet ensemble; si c'est le cas, il retourne vrai. Ensuite, il vérifie si l'objet spécifié est un ensemble dont la taille est identique à la taille de cet ensemble; sinon, il renvoie false. Si c'est le cas, il renvoie containsAll ((Collection) o). – Risser

+0

containsToutes les utilisations contient et contient utilise la méthode .equals. Pour les ensembles de pojos simples, ou tout ce qui a une bonne méthode .equals, c'est assez chouette. Merci! – Risser

0

Deux ensembles sont égaux, ce qui signifie qu'ils contiennent les mêmes éléments, si elles contiennent tous deux un autre

Assert.assertTrue(s1.containsAll(s2) && s2.containsAll(s1)) 

Il y a aussi SetUtils.isEqualSet

Questions connexes