私は文字列のリストを持ち、私のコードでこのリストを注文します。私は、リストが適切に発注されたことを確認するための単体テストを書いています。私のコード文字列のソートされたリストのテストケースを作成する
@Test
public void test() {
List<String> orderedList = new ArrayList<String>();
orderedList.add("a");
orderedList.add("b");
orderedList.add("a");
assertThat(orderedList, isInDescendingOrdering());
}
private Matcher<? super List<String>> isInDescendingOrdering()
{
return new TypeSafeMatcher<List<String>>()
{
@Override
public void describeTo (Description description)
{
description.appendText("ignored");
}
@Override
protected boolean matchesSafely (List<String> item)
{
for(int i = 0 ; i < item.size() -1; i++) {
if(item.get(i).equals(item.get(i+1))) return false;
}
return true;
}
};
}
何とかそれなりに成功しています。
どこに発注コードはありますか?そしてあなたはそれをテストのどこで呼びましたか?あなたのテストは単にリストを作成し、それをアサートするだけです。指定したマッチャーのロジックに従って確実に合格します – Vasan
'if(item.get(i).compareTo(item.get(i + 1))< 0)はfalseを返します; 'は注文をチェックします。 – 4castle