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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
#!/usr/bin/env ruby
#---
# Copyright 2003-2013 by Jim Weirich (jim.weirich@gmail.com).
# All rights reserved.
# Permission is granted for use, copying, modification, distribution,
# and distribution of modified versions of this work as long as the
# above copyright notice is included.
#+++
require "test_helper"
class UndefinedTest < Minitest::Test
def test_undefined_method_calls_return_undefined
assert_undefined undefined.some_random_undefined_method
end
def test_equals
assert undefined == undefined
assert ! (undefined == Object.new)
end
def test_math_operators
assert_undefined undefined + 1
assert_undefined undefined - 1
assert_undefined undefined * 1
assert_undefined undefined / 1
assert_undefined undefined ** 1
end
def test_math_operators_reversed
assert_undefined 1 + undefined
assert_undefined 1 - undefined
assert_undefined 1 * undefined
assert_undefined 1 / undefined
assert_undefined 2 ** undefined
end
def test_comparisons
assert_undefined undefined < 1
assert_undefined undefined <= 1
assert_undefined undefined > 1
assert_undefined undefined >= 1
assert_undefined undefined <=> 1
end
def test_comparisons_reversed
assert_undefined 1 < undefined
assert_undefined 1 <= undefined
assert_undefined 1 > undefined
assert_undefined 1 >= undefined
assert_undefined 1 <=> undefined
end
def test_base_level_methods
assert_kind_of FlexMock::Undefined, undefined
end
def test_cant_create_a_new_undefined
assert_raises(NoMethodError) do FlexMock::Undefined.new end
end
def test_cant_clone_undefined
assert_undefined undefined.clone
assert_equal undefined.__id__, undefined.clone.__id__
end
def test_string_representations
assert_equal "-UNDEFINED-", undefined.to_s
assert_equal "-UNDEFINED-", undefined.inspect
end
def test_undefined_is_not_nil
assert ! undefined.nil?
end
private
def assert_undefined(obj)
assert undefined == obj
end
def undefined
FlexMock.undefined
end
end
|