2
A
回答
2
只要把你的预期值在一组,并然后在预期的和实际的集合上使用assertEquals。这很有魅力,例如
Set<String> expected = new HashSet<String>(Arrays.asList("expected", "items"));
...
Set<String> actual = ...;
Assert.assertEquals(expected, actual);
0
两套都是平等的,这意味着它们含有相同的项目,如果它们都包含彼此
Assert.assertTrue(s1.containsAll(s2) && s2.containsAll(s1))
嘿,是的。我不知道你可以这样做。从Java 6 AbstractSet javadocs: – Risser 2010-06-19 04:32:01
将指定的对象与此集合相比较。如果给定对象也是一个集合,则返回true,这两个集合具有相同的大小,并且给定集合中的每个成员都包含在此集合中。这确保了equals方法在Set接口的不同实现中正常工作。 这个实现首先检查指定的对象是否是这个集合;如果是的话,它返回true。然后,它检查指定的对象是否与其集合的大小相同;如果不是,则返回false。如果是这样,它返回containsAll((Collection)o)。 – Risser 2010-06-19 04:33:43
containsAll uses包含,并包含使用.equals方法。对于一组简单的pojos,或者任何具有很好的.equals方法的东西,这非常漂亮。谢谢! – Risser 2010-06-19 04:36:25