Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Add cuke for exist matcher.

- Closes #39.
  • Loading branch information...
commit 4a27f1fa28c041f4599ad67ab2439b19994e1e9f 1 parent b8e248b
@myronmarston myronmarston authored dchelimsky committed
Showing with 44 additions and 0 deletions.
  1. +44 −0 features/matchers/exist.feature
View
44 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 |
+
Please sign in to comment.
Something went wrong with that request. Please try again.