これらは、私が現在テストしようとしている方法です。
public void addGrade(String newGrade) {
if (numGrades >= grades.length) {
increaseGradesCapacity();
}
grades[numGrades] = newGrade;
numGrades++;
}
public void increaseGradesCapacity() {
String[] newGrades = new String[grades.length + 1];
for (int i = 0; i < grades.length; i++) {
newGrades[i] = grades[i];
}
grades = newGrades;
}
現在、increaseGradesCapacity() メソッドを呼び出さなくてもテストできるテスト ケースが 1 つあります。
@Test public void addGradeTest() {
String[] myGrades1 = {"a90", "a100", "q90", "q80",
"p100", "e87.5"};
String[] myGrades2 = {"a90", "a100", "q90", "q80",
"p100", "e87.5", "q100"};
WeightedGrades2 wg = new WeightedGrades2("Aegon Targaryen", 6, myGrades1);
wg.addGrade("q100");
Assert.assertArrayEquals("Test for addGrade.",
myGrades2, wg.getGrades());
}
しかし、私は increaseGradesCapacity() メソッドを呼び出すテスト ケースを作成する方法を理解しようとしています。これは私が現在持っているものですが、それでも Web-CAT の要件を満たしていません。誰にもアイデアはありますか?
@Test public void addGradeTest2() {
String[] myGrades1 = {"a90", "a100", "q90", "q80",
"p100", "e87.5"};
String[] myGrades2 = {"a90", "a100", "q90", "q80",
"p100", "e87.5", null, "q100"};
WeightedGrades2 wg = new WeightedGrades2("Anakin Skywalker", 7, myGrades1);
wg.increaseGradesCapacity();
wg.addGrade("q100");
Assert.assertArrayEquals("Test for addGrade.",
myGrades2, wg.getGrades());
}