最終更新日時
Dec 6, 2024 6:14 AM
ツール
ChatGPTGitHub Copilot
利用シーン
実装/テストコードを書く
‣
GitHub Copilot
‣
ChatGPT
参考:
参考:
次のソースコードに対してJUnitでブラックボックスとしては同値テスト・境界値テスト、ホワイトボックステストとしてはC2カバレッジを満たすコードを生成してください。
'''
public class DifferenceCalculator {
private static final int MIN_VALUE = -100;
public static int calculateDifference(int num1, int num2) throws IllegalArgumentException {
// 引数のチェック
if (num1 <= MIN_VALUE || num2 <= MIN_VALUE) {
throw new IllegalArgumentException("引数が不正です。");
}
// 差分の計算
int difference = num1 - num2;
// 計算結果のチェック
if (difference <= MIN_VALUE) {
throw new IllegalArgumentException("計算結果が不正です。");
}
// 正常な計算結果を返す
return difference;
}
}
'''import org.junit.Test;
import static org.junit.Assert.*;
public class DifferenceCalculatorTest {
@Test
public void testCalculateDifferenceNormal() {
assertEquals(10, DifferenceCalculator.calculateDifference(20, 10));
}
@Test(expected = IllegalArgumentException.class)
public void testCalculateDifferenceWithNum1BelowMinValue() {
DifferenceCalculator.calculateDifference(-101, 10);
}
@Test(expected = IllegalArgumentException.class)
public void testCalculateDifferenceWithNum2BelowMinValue() {
DifferenceCalculator.calculateDifference(10, -101);
}
@Test(expected = IllegalArgumentException.class)
public void testCalculateDifferenceResultBelowMinValue() {
DifferenceCalculator.calculateDifference(-50, 60);
}
@Test
public void testCalculateDifferenceWithNum1AtBoundary() {
assertEquals(101, DifferenceCalculator.calculateDifference(-99, -200));
}
@Test
public void testCalculateDifferenceWithNum2AtBoundary() {
assertEquals(201, DifferenceCalculator.calculateDifference(100, -101));
}
}