クラス A の isSorted() インスタンス メソッドにはバグがあります。
public class A {
private int[] a;
public A(int[] a) { this.a = a; }
/** Return true if this A object contains an array sorted
* in nondecreasing order; else false. */
public boolean isSorted() {
for(int i=1; i<a.length-1; i++) {
if(a[i] < a[i-1]) return false;
}
return true;
}
}
このバグのために失敗する JUnit テスト メソッド testIsSorted() を記述しますが、バグが修正されるとパスします。( setUp() メソッドが定義されていないと仮定します。) これが答えです。
public void testIsSorted() {
int[] array = {2, 1};
A haha = new A(array);
assertFalse(haha.isSorted);
}
まず第一に、バグはどこにあるのか、見つけられないようです。第二に、 assertTrue(haha.isSorted) であってはなりません。配列が降順であるため assertFalse が渡されるため、 isSorted は false を返し、 assertFalse(false) は true を返しますが、 assertTrue(false) は戻ります間違い。