6
6
@o.extend(Comparable)
9
class << @o; self; end.class_eval {
11
define_method(:<=>, b)
11
17
assert_equal(true, @o == nil)
13
19
assert_equal(false, @o == nil)
14
def @o.<=>(x); raise; end
20
cmp->(x) do raise; end
15
21
assert_equal(false, @o == nil)
20
26
assert_equal(true, @o > nil)
22
28
assert_equal(false, @o > nil)
23
def @o.<=>(x); -1; end
24
30
assert_equal(false, @o > nil)
29
assert_equal(true, @o >= nil)
31
assert_equal(true, @o >= nil)
32
def @o.<=>(x); -1; end
35
assert_equal(true, @o >= nil)
37
assert_equal(true, @o >= nil)
33
39
assert_equal(false, @o >= nil)
38
assert_equal(false, @o < nil)
40
assert_equal(false, @o < nil)
41
def @o.<=>(x); -1; end
44
assert_equal(false, @o < nil)
46
assert_equal(false, @o < nil)
42
48
assert_equal(true, @o < nil)
47
53
assert_equal(false, @o <= nil)
49
55
assert_equal(true, @o <= nil)
50
def @o.<=>(x); -1; end
51
57
assert_equal(true, @o <= nil)
55
def @o.<=>(x); 0 <=> x end
61
cmp->(x) do 0 <=> x end
56
62
assert_equal(false, @o.between?(1, 2))
57
63
assert_equal(false, @o.between?(-2, -1))
58
64
assert_equal(true, @o.between?(-1, 1))