Gegeben Sammlungen:vergleichen Collection # unmodifiableCollection auf die Collection # singletonList in Java mit JUnit
Collection<MyObject> expected = Collections.singletonList(new MyObject);
Collection<MyObject> actual = Collections.unmodifiableCollection(new ArrayList<>(expected));
Aber behaupten beide mit
assertSame(expected, actual);
ich eine Assertion Fehler sehen:
java.lang.AssertionError:
expected same:<[[email protected]]>
was not: <[[email protected]]>
Expected :[[email protected]]
Actual :[[email protected]]
Aber sowohl erwartet als auch tatsächlich zeigen mir den gleichen hashCode. Warum versagt der Test?
UPDATE
Nach dem Versuch, den Test mit Assert # asserEquals ich sah, dass zu erwarten ist ein SingletonList, die in keiner Weise ausführen können, um die tatsächliche UnmodifiableCollection gleich sein. Daher habe ich eine andere Frage: Was ist der beste Weg, diese beiden Arten von Sammlungen zu vergleichen.
Zeigen Sie uns, wie Sie diese vergleichen. –