我有一個枚舉和對象,我想在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