Sha256: 6d807cca1c7b2419960a90f4d36787d46cde86833c8b93b3c82ae49cbaca915c
Contents?: true
Size: 1.49 KB
Versions: 1
Compression:
Stored size: 1.49 KB
Contents
require 'assay/assertions/compare_failure' module Assay # Comparison assertion for #kind_of? # # KindFailure.pass?(1, Integer) #=> true # KindFailure.fail?(1, String) #=> true # class KindFailure < CompareFailure def self.assertion_name :kind_of end def self.assertion_operator :kind_of? end # Check assertion. def self.pass?(exp, act) exp.kind_of? act end # def to_s return @mesg if @mesg return super unless @arguments.size == 2 exp = @arguments[0].inspect act = @arguments[1].inspect if @_negated "Expected #{act} to be kind of #{exp}" else "Expected #{act} to be kind of #{exp}" end end end module Assertives # Passes if object .kind_of? klass # # assert_kind_of(Object, 'foo') # def assert_kind_of(cls, obj, msg=nil) KindFailure.assert(cls, obj, :message=>msg, :backtrace=>caller) end # Passes if object .kind_of? klass # # assert_not_kind_of(Object, 'foo') # def refute_kind_of(cls, obj, msg=nil) KindFailure.refute(cls, obj, :message=>msg, :backtrace=>caller) end alias_method :assert_not_kind_of, :refute_kind_of end module Matchers # # # object.assert is_a_kind_of(class) # def is_kind_of(cls) KindFailure.to_matcher(cls) end # # # object.should be_a_kind_of(class) # def be_kind_of(cls) KindFailure.to_matcher(cls) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
assay-0.3.0 | lib/assay/assertions/kind_failure.rb |