0

これらは、私が現在テストしようとしている方法です。

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());
}
4

1 に答える 1