diff options
author | Jon McCartie <jon@mccartie.com> | 2016-07-21 16:47:27 -0500 |
---|---|---|
committer | Jon McCartie <jon@mccartie.com> | 2016-07-21 17:23:33 -0500 |
commit | 4db6ac29f24f3d38401f4cf243a7a70b07e964e1 (patch) | |
tree | 4002a2a48636c39a7bb431f4a31e816e1be0fe95 /activesupport/test | |
parent | 929a6500806fe671d9ac0002da8537bf26b8f25d (diff) | |
download | rails-4db6ac29f24f3d38401f4cf243a7a70b07e964e1.tar.gz rails-4db6ac29f24f3d38401f4cf243a7a70b07e964e1.tar.bz2 rails-4db6ac29f24f3d38401f4cf243a7a70b07e964e1.zip |
Adds `not_in?` onto Object
Diffstat (limited to 'activesupport/test')
-rw-r--r-- | activesupport/test/core_ext/object/exclusion_test.rb | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/activesupport/test/core_ext/object/exclusion_test.rb b/activesupport/test/core_ext/object/exclusion_test.rb new file mode 100644 index 0000000000..487c97d255 --- /dev/null +++ b/activesupport/test/core_ext/object/exclusion_test.rb @@ -0,0 +1,53 @@ +require 'abstract_unit' +require 'active_support/core_ext/object/exclusion' + +class NotInTest < ActiveSupport::TestCase + def test_not_in_array + assert 1.not_in?([2, 3]) + assert_not 2.not_in?([1,2]) + end + + def test_not_in_hash + h = { "a" => 100, "b" => 200 } + assert "z".not_in?(h) + assert_not "a".not_in?(h) + end + + def test_not_in_string + assert "ol".not_in?("hello") + assert_not "lo".not_in?("hello") + assert ?z.not_in?("hello") + end + + def test_not_in_range + assert 75.not_in?(1..50) + assert_not 25.not_in?(1..50) + end + + def test_not_in_set + s = Set.new([1,2]) + assert 3.not_in?(s) + assert_not 1.not_in?(s) + end + + module A + end + class B + include A + end + class C < B + end + class D + end + + def test_not_in_module + assert A.not_in?(D) + assert A.not_in?(A) + assert_not A.not_in?(B) + assert_not A.not_in?(C) + end + + def test_no_method_catching + assert_raise(ArgumentError) { 1.not_in?(1) } + end +end |