Sha256: 601d22afa1c2322374db12ef392acdece3ec1c430afcfce8456581ea115fe856

Contents?: true

Size: 1.58 KB

Versions: 41

Compression:

Stored size: 1.58 KB

Contents

require File.expand_path('../../../test_helper', __FILE__)

require 'mocha/parameter_matchers/has_key'
require 'mocha/parameter_matchers/object'
require 'mocha/inspect'

class HasKeyTest < Test::Unit::TestCase
  
  include Mocha::ParameterMatchers
  
  def test_should_match_hash_including_specified_key
    matcher = has_key(:key_1)
    assert matcher.matches?([{ :key_1 => 1, :key_2 => 2 }])
  end
  
  def test_should_not_match_hash_not_including_specified_key
    matcher = has_key(:key_1)
    assert !matcher.matches?([{ :key_2 => 2 }])
  end
  
  def test_should_describe_matcher
    matcher = has_key(:key)
    assert_equal 'has_key(:key)', matcher.mocha_inspect
  end
  
  def test_should_match_hash_including_specified_key_with_nested_key_matcher
    matcher = has_key(equals(:key_1))
    assert matcher.matches?([{ :key_1 => 1, :key_2 => 2 }])
  end
  
  def test_should_not_match_hash_not_including_specified_key_with_nested_key_matcher
    matcher = has_key(equals(:key_1))
    assert !matcher.matches?([{ :key_2 => 2 }])
  end
  
  def test_should_not_raise_error_on_empty_arguments
    matcher = has_key(:key)
    assert_nothing_raised { matcher.matches?([]) }
  end
  
  def test_should_not_match_on_empty_arguments
    matcher = has_key(:key)
    assert !matcher.matches?([])
  end
  
  def test_should_not_raise_error_on_argument_that_does_not_respond_to_keys
    matcher = has_key(:key)
    assert_nothing_raised { matcher.matches?([:key]) }
  end
  
  def test_should_not_match_on_argument_that_does_not_respond_to_keys
    matcher = has_key(:key)
    assert !matcher.matches?([:key])
  end
end

Version data entries

41 entries across 36 versions & 6 rubygems

Version Path
challah-1.0.0.beta vendor/bundle/gems/mocha-0.10.5/test/unit/parameter_matchers/has_key_test.rb
challah-0.9.1.beta.3 vendor/bundle/gems/mocha-0.10.5/test/unit/parameter_matchers/has_key_test.rb
devise_sociable-0.1.0 vendor/bundle/gems/mocha-0.10.5/test/unit/parameter_matchers/has_key_test.rb
challah-0.9.1.beta vendor/bundle/gems/mocha-0.10.5/test/unit/parameter_matchers/has_key_test.rb
challah-0.9.0 vendor/bundle/gems/mocha-0.10.5/test/unit/parameter_matchers/has_key_test.rb
challah-0.6.2 vendor/bundle/gems/mocha-0.10.5/test/unit/parameter_matchers/has_key_test.rb
challah-0.6.1 vendor/bundle/gems/mocha-0.10.5/test/unit/parameter_matchers/has_key_test.rb
challah-0.6.1 vendor/bundle/gems/mocha-0.10.3/test/unit/parameter_matchers/has_key_test.rb
challah-0.6.0 vendor/bundle/gems/mocha-0.10.3/test/unit/parameter_matchers/has_key_test.rb
challah-0.6.0 vendor/bundle/gems/mocha-0.10.5/test/unit/parameter_matchers/has_key_test.rb
challah-0.5.4 vendor/bundle/gems/mocha-0.10.3/test/unit/parameter_matchers/has_key_test.rb
challah-0.5.4 vendor/bundle/gems/mocha-0.10.5/test/unit/parameter_matchers/has_key_test.rb
challah-0.5.3 vendor/bundle/gems/mocha-0.10.3/test/unit/parameter_matchers/has_key_test.rb
challah-0.5.3 vendor/bundle/gems/mocha-0.10.5/test/unit/parameter_matchers/has_key_test.rb
challah-0.5.2 vendor/bundle/gems/mocha-0.10.5/test/unit/parameter_matchers/has_key_test.rb
challah-0.5.2 vendor/bundle/gems/mocha-0.10.3/test/unit/parameter_matchers/has_key_test.rb
challah-0.5.1 vendor/bundle/gems/mocha-0.10.5/test/unit/parameter_matchers/has_key_test.rb
mocha-0.10.5 test/unit/parameter_matchers/has_key_test.rb
challah-0.5.0 vendor/bundle/gems/mocha-0.10.3/test/unit/parameter_matchers/has_key_test.rb
mocha-0.10.4 test/unit/parameter_matchers/has_key_test.rb