Permalink
Browse files

Add cuke for exist matcher.

  • Loading branch information...
1 parent 3642020 commit 32e3f9fb7ca12360a7a0d0b389bd9d9196f08e77 @myronmarston myronmarston committed with dchelimsky Oct 22, 2010
Showing with 44 additions and 0 deletions.
  1. +44 −0 features/matchers/exist.feature
@@ -0,0 +1,44 @@
+Feature: exist matcher
+
+ The exist matcher is used to specify that something exists
+ (as indicated by #exist?):
+
+ obj.should exist # passes if obj.exist?
+
+ Scenario: basic usage
+ Given a file named "exist_matcher_spec.rb" with:
+ """
+ class Planet
+ attr_reader :name
+
+ def initialize(name)
+ @name = name
+ end
+
+ def inspect
+ "<Planet: #{name}>"
+ end
+
+ def exist?
+ %w[Mercury Venus Earth Mars Jupiter Saturn Uranus Neptune].include?(name)
+ end
+ end
+
+ describe "Earth" do
+ subject { Planet.new("Earth") }
+ it { should exist }
+ it { should_not exist } # deliberate failure
+ end
+
+ describe "Tatooine" do
+ subject { Planet.new("Tatooine") }
+ it { should_not exist }
+ it { should exist } # deliberate failure
+ end
+ """
+ When I run "rspec exist_matcher_spec.rb"
+ Then the output should contain all of these:
+ | 4 examples, 2 failures |
+ | expected <Planet: Earth> not to exist |
+ | expected <Planet: Tatooine> to exist |
+

0 comments on commit 32e3f9f

Please sign in to comment.