基本的な Guava 述語を実装しました。
containsPatternIgnoreCase(@Nullable final String input) {
checkNotNull(input);
return new Predicate<String>() {
@Override
public boolean apply(@Nullable String current) {
checkNotNull(current);
return current.toLowerCase(ENGLISH).contains(input.toLowerCase(ENGLISH));
}
};
}
すべて問題ありませんが、Travis で 1 つのテスト ケースが失敗します。
assertThat(containsPatternIgnoreCase("TURKİYE").apply("turkiye güzel")).isTrue();
私は自分の実装でデフォルトのロケールから継承しないように気をつけていたので、何が間違っているのか本当に疑問に思っています。JDKのバージョンに依存する可能性はありますか?
これが私のマシンで使用されているものです:
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06-451-10M4406)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01-451, mixed mode)
そしてTravis CIで:
java version "1.7.0_17"
Java(TM) SE Runtime Environment (build 1.7.0_17-b02)
Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)
助けてくれてどうもありがとう!ロルフ