У меня два Collection<Dumb>
Мне нужно сравнить с помощью подколенного сухожилия:
public class Dumb {
private String id;
//setters & getters
}
Коротко и просто,
@Test
public void test() {
Collection<Dumb> actual = new ArrayList<Dumb>();
Dumb actualDumbOne = new Dumb();
actualDumbOne.setId("1");
Dumb actualDumbTwo = new Dumb();
actualDumbTwo.setId("2");
actual.add(actualDumbOne);
actual.add(actualDumbTwo);
Collection<Dumb> expected = new ArrayList<Dumb>();
Dumb expectedDumbOne = new Dumb();
expectedDumbOne.setId("1");
Dumb expectedDumbTwo = new Dumb();
expectedDumbTwo.setId("2");
expected.add(expectedDumbOne);
expected.add(expectedDumbTwo);
assertThat(expected, containsInAnyOrder(actual));
}
Сбой из-за:
Expected: iterable over [<[Dumb@56114349, Dumb@46c28400]>] in any order
but: Not matched: <Dumb@2d6abfc7>
Важно : я не могу изменить Dumb
код, это сторонний класс. Важно : мне нужно сравнить это Dumb.id is equals to Dumb.id
.
Есть идеи?