さて、私はしばしばある種のセットを返すメソッドを持っています。このようなメソッドの単体テストの問題は、セットに対する反復が常に同じ順序でアイテムを返すという保証がないことです。
セットを検証するための好ましい方法はありますか?
ピーター
さて、私はしばしばある種のセットを返すメソッドを持っています。このようなメソッドの単体テストの問題は、セットに対する反復が常に同じ順序でアイテムを返すという保証がないことです。
セットを検証するための好ましい方法はありますか?
ピーター
期待値をセットに入れてから、期待値と実際のセットでassertEqualsを使用するだけです。それは魅力的です、例えば
Set<String> expected = new HashSet<String>(Arrays.asList("expected", "items"));
...
Set<String> actual = ...;
Assert.assertEquals(expected, actual);
2つのセットは等しい、つまり、両方に互いに含まれている場合、同じアイテムが含まれていることを意味します
Assert.assertTrue(s1.containsAll(s2) && s2.containsAll(s1))
SetUtils.isEqualSetもあります