-
-
Notifications
You must be signed in to change notification settings - Fork 397
/
be_instance_of_spec.rb
36 lines (28 loc) · 1.24 KB
/
be_instance_of_spec.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
require 'spec_helper'
module RSpec
module Matchers
[:be_an_instance_of, :be_instance_of].each do |method|
describe "actual.should #{method}(expected)" do
it "passes if actual is instance of expected class" do
5.should send(method, Fixnum)
end
it "fails if actual is instance of subclass of expected class" do
lambda { 5.should send(method, Numeric) }.should fail_with(%Q{expected 5 to be an instance of Numeric})
end
it "fails with failure message for should unless actual is instance of expected class" do
lambda { "foo".should send(method, Array) }.should fail_with(%Q{expected "foo" to be an instance of Array})
end
it "provides a description" do
matcher = be_an_instance_of(Fixnum)
matcher.matches?(Numeric)
matcher.description.should == "be an instance of Fixnum"
end
end
describe "actual.should_not #{method}(expected)" do
it "fails with failure message for should_not if actual is instance of expected class" do
lambda { "foo".should_not send(method, String) }.should fail_with(%Q{expected "foo" not to be an instance of String})
end
end
end
end
end