test/matcher_spec.rb in mojombo-erlectricity-0.2.1 vs test/matcher_spec.rb in mojombo-erlectricity-1.0.0

- old
+ new

@@ -2,27 +2,41 @@ def false_match(matcher, arg) matcher.matches?(arg).should == false end +context "A matcher whose condition is a String (the class object" do + setup do + @matcher = Erlectricity::Matcher.new(nil, Erlectricity::TypeCondition.new(String), nil) + end + + specify "should match any string" do + @matcher.matches?("foo").should == true + end + + specify "should not match symbols" do + @matcher.matches?(:foo).should == false + end +end + context "A matcher whose condition is Symbol (the class object)" do setup do @matcher = Erlectricity::Matcher.new(nil, Erlectricity::TypeCondition.new(Symbol), nil) end - + specify "should match any symbol" do @matcher.matches?(:foo).should == true @matcher.matches?(:bar).should == true @matcher.matches?(:baz).should == true end - + specify "should not match strings" do @matcher.matches?("foo").should == false @matcher.matches?("bar").should == false @matcher.matches?("baz").should == false end - + specify "should not match a arrays" do @matcher.matches?([:foo]).should == false @matcher.matches?([:foo, :bar]).should == false @matcher.matches?([:foo, :bar, :baz]).should == false end @@ -30,40 +44,38 @@ context "a matcher whose condition is a symbol" do setup do @matcher = Erlectricity::Matcher.new(nil, Erlectricity::StaticCondition.new(:foo), nil) end - + specify "should match that symbol" do @matcher.matches?(:foo).should == true end - + specify "should not match any other symbol" do @matcher.matches?(:bar).should == false @matcher.matches?(:baz).should == false end end context "a matcher whose matcher is an array" do - setup do - end - + specify "should match if all of its children match" do Erlectricity::Matcher.new(nil, [Erlectricity::StaticCondition.new(:speak), Erlectricity::TypeCondition.new(Object)], nil).matches?([:paste, "haha"]).should == false - + matcher = Erlectricity::Matcher.new(nil, [Erlectricity::StaticCondition.new(:foo), Erlectricity::StaticCondition.new(:bar)], nil) matcher.matches?([:foo, :bar]).should == true end - + specify "should not match any of its children dont match" do matcher = Erlectricity::Matcher.new(nil, [Erlectricity::StaticCondition.new(:foo), Erlectricity::StaticCondition.new(:bar)], nil) matcher.matches?([:foo]).should == false matcher.matches?([:foo, :bar, :baz]).should == false matcher.matches?([:fooo, :barr]).should == false matcher.matches?([3, :bar]).should == false end - + specify "should not match if arg isn't an array" do matcher = Erlectricity::Matcher.new(nil, [Erlectricity::StaticCondition.new(:foo), Erlectricity::StaticCondition.new(:bar)], nil) matcher.matches?(:foo).should == false end -end +end \ No newline at end of file