さまざまな方法で提示できる列挙型があります。String、Integer、Double (異なる範囲)、Vector2D、最後に列挙値自体として。これは一般化された例であり、値は代表的なものではありません。私がこれを実際に使用しているのは、はるかに多くの値とメソッドがあります。
public enum Example {
value0("Name0", 0, 0.0, 0.01707, 0.12534);
value1("Name1", 1, 25.0, 0.1707, 0.53434);
value2("Name2", 2, 55.0, 0.70701, 0.23534);
value3("Name3", 3, 65.0, 0.01707, 0.34786);
value5("Name4", 4, 100.0, 0.01707, 0.42594);
private final String name;
private final int number;
private final double head;
private final Vector2d pointVec;
/**
* Constructor invoked for each value above.
*/
enumExample(String name, int no, double hdg, float compX, float CompY) {
this.name = name;
this.number = no;
this.head = hdg;
this.pointVec = new Vector2d(compX, compY);
}
public String getName(){
return name;
}
public int getNumber() {
return no;
}
public int getHead() {
return head;
}
public Vector2D getVector() {
return pointVec;
}
public Example getCalcValue(int value) {
return calcValue(getNumber(value));
}
/*
* There are more methods that perform calculations on the enum's
* attributes.
*/
}
この列挙型を使用する他のクラスが正しく機能する列挙型で動作していることを確認するため。そのための包括的なテストセットを用意して、データ入力が正しく実行され、列挙型とそれに関連するデータが破損していないことを確認したいと考えています。
現在、5 つの列挙値を持つこの例には、31 のテストがあります。これのバージョンが最大 33 の列挙値になる必要があります。これは約200のテストです。
これにより、テストデータを目で簡単に確認できるようになるため、データ駆動型テストを使用できるようになることを望んでいました。
これを列挙型に設定する方法について誰か考えがありますか? 私が見つけたデータ駆動型テストのすべての例には、テストするメソッドが 1 つある単純なクラスがあります。