前回、assertThat()を書いたが、importに何も書かないとこうなる。
まあ、何かimportしてくれるのだろう、と思ってクリックすると、こうなる。
わ、私には選べない!
試したが、一番上の「MatcherAssert.assertThat」でよさそうだ。
import static org.hamcrest.MatcherAssert.assertThat;
ちなみに、is()だとこんなの。
これも「CoreMatchers.is」でよいみたい。
ただ、その下のIs.isを選んでもエラーにならないから、継承関係にあるのかな?
CoreMatchersクラスはこうだ。
public class CoreMatchers
Isクラスはこうだった。
public class Is<T> extends BaseMatcher<T>
BaseMatcherは、こう。
public abstract class BaseMatcher<T> implements Matcher<T>
MatcherAssert#assertThat()は、こう。
public static
void assertThat(T actual, Matcher matcher)
Matcherクラスは、こうだ。
public interface Matcher<T> extends SelfDescribing
Matcherの血を引いているものであれば、assertThat()の第2引数にできるということか?
でも、CoreMatcherはMatcherの流れではないぞ。
などと間の抜けたことを思っていたが、is()はメソッドだから、戻り値だけでよいのだ。
CoreMatchers#is()は、こうだ。
public static <T> org.hamcrest.Matcher<T> is(T value)
上で「Matcherクラス」と書いてるものは、packageがorg.hamcrestだから、それだけのことだ。
さて、メソッド的な流れはなんとなくわかったというか、Android Studioの一番上を選んでおけばよいということがわかった。
気になったのは、org.hamcrestだ。
orgというからには、なんかの団体のはず。
大きい画像はないのだが、拡大してみるとハムと果物がお皿に載ったような写真だ。
そしてハムが階段状に重ねられている上を、ナイフっぽいサーフィンボードのようなものの上に載った人が滑っているような画像だった。
なので、HamcrestのHamは、食べるハムなのだろう。
Java生まれで他の言語にも移植された、というようなことが書かれている。
よくわからないけど、ありがたく使おう。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。