Permalink
Browse files

Add cuke for satisfy matcher.

  • Loading branch information...
1 parent 9393080 commit abc0ef44598af76942c191708eb477cec64e107d @myronmarston myronmarston committed with dchelimsky Oct 20, 2010
Showing with 31 additions and 0 deletions.
  1. +31 −0 features/matchers/satisfy.feature
@@ -0,0 +1,31 @@
+Feature: Satisfy matcher
+
+ The satisfy matcher is extremely flexible and can handle almost anything
+ you want to specify. It passes if the block you provide returns true:
+
+ 10.should satisfy { |v| v % 5 == 0 }
+ 7.should_not satisfy { |v| v % 5 == 0 }
+
+ This flexibility comes at a cost, however: the failure message
+ ("expected [actual] to satisfy block") is not very descriptive
+ or helpful. You will usually be better served by using one of
+ the other built-in matchers, or writing a custom matcher.
+
+ Scenario: basic usage
+ Given a file named "satisfy_matcher_spec.rb" with:
+ """
+ describe 10 do
+ it { should satisfy { |v| v > 5 } }
+ it { should_not satisfy { |v| v > 15 } }
+
+ # deliberate failures
+ it { should_not satisfy { |v| v > 5 } }
+ it { should satisfy { |v| v > 15 } }
+ end
+ """
+ When I run "rspec satisfy_matcher_spec.rb"
+ Then the output should contain all of these:
+ | 4 examples, 2 failures |
+ | expected 10 not to satisfy block |
+ | expected 10 to satisfy block |
+

0 comments on commit abc0ef4

Please sign in to comment.