我有一个枚举和对象,我想在junit测试中验证uniqeness。验证枚举值出现一次,只有一次
例如,我有一个枚举颜色,如下图所示:
public enum Colors{
Yellow("This is my favorite color"),
Blue("This color is okay"),
Orange("I do not like this color"),
Green("I hate this color");
private String value;
Colors(String value) {
this.value = value;
}
public String getDescription() {
return value;
}
}
我也有一个名为ColorList一个ArrayList,它包含色彩具有两个属性的对象:值和说明。我想验证ColorList以测试在枚举中包含四个Color对象的值。我想我的测试失败如果任:
- ,是不是,是不是内枚举
你必须使用'List'吗?您可以使用['EnumSet'](https://docs.oracle.com/javase/7/docs/api/java/util/EnumSet.html)。这可以保证集合中只有一个枚举值。如果你需要包含所有值,你可以通过['EnumSet.allOf(Colors.class)'](https://docs.oracle.com/javase/7/docs/api/java/util/EnumSet html的#allOf(java.lang.Class中))。 –
我相信使用枚举集要求将颜色从java.lang.Enum进行扩展,但在这种情况下,我无法修改颜色 –
DevelopingDeveloper
@DevelopingDeveloper根据[Java™教程 - 枚举类型](https://docs.oracle。 com/javase/tutorial/java/javaOO/enum.html):*所有枚举隐式扩展java.lang.Enum *。* Java语言规范[§8.9。枚举类型](https://docs.oracle.com/javase/specs/jls/se8/html/jls-8.html#jls-8.9)说:*枚举类型E的直接超类是'Enum' * –
Andreas