今週、以前の試験問題を使用してテストを改訂していますが、100%のカバレッジを取得できません。私のプログラムは、次のとおりです。
public int computeInsurance(boolean SportsEquipment, boolean MusicEquipment)
{
int insurance;
if(SportsEquipment == true && MusicEquipment==true)
insurance = 20;
else if((SportsEquipment == true && MusicEquipment == false)||(SportsEquipment == false && MusicEquipment == true))
insurance = 10;
else
insurance= 5;
return insurance;
}
}
私は次のテストケースを使用しています。
public class Lab5CarTest {
@Test
public void testComputeInsurance() {
Lab5Car t = new Lab5Car();
int result = t.computeInsurance(true, true);
assertEquals(20,result);
int i = t.computeInsurance(true,false);
assertEquals(10,i);
int u = t.computeInsurance(false,false);
assertEquals(5,u);
}
}
しかし、私のコードのelse if行に8つのうち3つのブランチがありません!