class Test::Spec::ShouldNot

Public Class Methods

new(object, message=nil) click to toggle source
# File lib/test/spec.rb, line 204
def initialize(object, message=nil)
  @object = object
  @message = message
end

Public Instance Methods

==(value)
Alias for: equal
=~(value)
Alias for: match
_raise(*args, &block) click to toggle source
# File lib/test/spec.rb, line 246
def _raise(*args, &block)
  block ||= @object
  args << @message  if @message
  assert_nothing_raised(*args, &block)
end
add_assertion() click to toggle source
# File lib/test/spec.rb, line 209
def add_assertion
  $TEST_SPEC_TESTCASE && $TEST_SPEC_TESTCASE.__send__(:add_assertion)
end
be(*value) click to toggle source
# File lib/test/spec.rb, line 225
def be(*value)
  case value.size
  when 0
    self
  when 1
    if CustomShould === value.first 
      pass value.first
    else
      assert_not_same value.first, @object, @message
    end
  else
    Kernel.raise ArgumentError, "should.be needs zero or one argument"
  end
end
be_nil() click to toggle source
# File lib/test/spec.rb, line 260
def be_nil
  warn "Test::Spec::ShouldNot#be_nil is deprecated and will be removed in future versions."
  self.nil
end
equal(value) click to toggle source
# File lib/test/spec.rb, line 220
def equal(value)
  assert_not_equal value, @object, @message
end
Also aliased as: ==
match(value) click to toggle source
# File lib/test/spec.rb, line 240
def match(value)
  # Icky Regexp check
  assert_no_match value, @object, @message
end
Also aliased as: =~
method_missing(name, *args, &block) click to toggle source
Calls superclass method
# File lib/test/spec.rb, line 284
def method_missing(name, *args, &block)
  # This will make raise call Kernel.raise, and self.raise call _raise.
  return _raise(*args, &block)  if name == :raise

  if @object.respond_to?("#{name}?")
    assert_block("#{name}? expected to be false. #{@message}") {
      not @object.__send__("#{name}?", *args)
    }
  else
    if @object.respond_to?(name)
      assert_block("#{name} expected to be false. #{@message}") {
        not @object.__send__("#{name}", *args)
      }
    else
      super
    end
  end
end
nil() click to toggle source
# File lib/test/spec.rb, line 256
def nil
  assert_not_nil @object, @message
end
not(*args) click to toggle source
# File lib/test/spec.rb, line 265
def not(*args)
  case args.size
  when 0
    Should.new(@object, @message)
  when 1
    Should.new(@object, @message).pass(args.first)
  else
    raise ArgumentError, "#not takes zero or one argument(s)."
  end
end
pass(custom) click to toggle source
# File lib/test/spec.rb, line 276
def pass(custom)
  _wrap_assertion {
    begin
      assert !custom.matches?(@object), @message || custom.failure_message
    end
  }
end
satisfy() { |object| ... } click to toggle source
# File lib/test/spec.rb, line 214
def satisfy(&block)
  assert_block(@message || "not.satisfy block succeded.") {
    not yield @object
  }
end
throw() click to toggle source
# File lib/test/spec.rb, line 252
def throw
  assert_nothing_thrown(@message, &@object)
end