假设我有这样的课程:
public class Character {
public Character(String name){
this.name = name;
}
private String name;
public String getName() { return name; }
}
后来,一张地图
Map<Character, Integer> characterAges = new HashMap<Character, Integer>();
characterAges.put(new Character("Frodo"), 34);
使用 assertj,测试 characterAges 是否包含“Frodo”字符的最佳方法是什么?对于这个年龄,我可以这样做:
assertThat(characterAges).hasValue(34);
我知道我可以做到:
assertThat(characterAges.keySet())
.extracting("name")
.contains("Frodo");
但后来我失去了流利度。我真正想要的是这样的:
assertThat(characterAges)
.hasKey(key.extracting("name").contains("Frodo")
.hasValue(34);
甚至更好,这样我就可以确保我的键和值匹配:
assertThat(characterAges)
.hasEntry(key.extracting("name").contains("Frodo"), 34);
这样的事情可能吗?