カスタムマッチャーを作ってみるテスト
おいしいカスタム抹茶マッチャーの作り方。
@arr.should include_ex([1,2])
二次元配列の要素を探す時に、上の例では @arr が [ [ 2,1],[ 3,4 ] ] のような時でも include が真となる Matcher が必要になった。
カスタムマッチャーは Spec::Matchers.define で定義できる。
Spec::Matchers.define :include_ex do |elem| match do |arr| arr.include?(elem.reverse) || arr.include?(elem) end end
@arr が二次元配列か確認した後にでもこれでチェックする。