我有一组对象(让我们说Car
s)。每辆车都有Company
类型的属性,可以通过id
标识。
现在我想断言我的系列中的所有车都属于同一家公司,即每辆车的公司都与其他公司相同。
请注意,在我的测试中我事先并不知道公司ID的价值。我并不关心价值,唯一重要的是所有汽车都是如此。
我会想象:
assertThat(allCars, Matchers.equalAmongAll(hasProperty("company", hasProperty("id"))));
编辑:只有Java 7可用,不能使用Java 8表达式
答案 0 :(得分:1)
我不确定我理解你,也许是这样的:
int id = allCars.get(0).getId();
List<Car> list = allCars.stream().filter(c -> c.getId() == id).collect(Collectors.toList());
assertEquals(list.size(), allCars.size());