JUNITを使用してENUMSタイプをテストするテストケースを作成するにはどうすればよいですか。以下に列挙型のコードを追加しました。
public class TrafficProfileExtension {
public static enum CosProfileType {
BENIGN ("BENIGN"),
CUSTOMER ("CUSTOMER"),
FRAME ("FRAME"),
PPCO ("PPCO"),
STANDARD ("STANDARD"),
W_RED ("W-RED"),
LEGACY("LEGACY"),
OPTIONB ("OPTIONB");
private final String cosProfileType;
private CosProfileType(String s) {
cosProfileType = s;
}
public boolean equalsName(String otherName){
return (otherName == null)? false:cosProfileType.equals(otherName);
}
public String toString(){
return cosProfileType;
}
}
}
列挙型CosProfileType
のテストケースを作成しましたが、CosProfileTypeでエラーが発生します。このテストケースを機能させるにはどうすればよいですか?
@Test
public void testAdd() {
TrafficProfileExtension ext = new TrafficProfileExtension();
assertEquals("FRAME", ext.CosProfileType.FRAME);
}
CosProfileType
が宣言されているのでpublic static
それは事実上トップレベルのクラス(列挙型)なので、
assertEquals("FRAME", CosProfileType.FRAME.name());
String
をEnum
と比較しています。これは決して等しくなることはありません。
試してください:
@Test
public void testAdd() {
TrafficProfileExtension ext = new TrafficProfileExtension();
assertEquals("FRAME", ext.CosProfileType.FRAME.toString());
}