Updated RubySpec submodule to 9f66d0b1.
[rbx.git] / test / bfts / test_comparable.rb
blob4c67917e28e9a4a80a4d74c15267eebfd0fc9543
1 require 'rubicon_testcase'
3 class TestComparable < RubiconTestCase
5   class C
6     include Comparable
7     attr :val
8     def initialize(val)
9       @val = val
10     end
11     def <=>(other)
12       @val <=> other.val
13     end
14   end
16   def setup
17     @a = C.new(1)
18     @b = C.new(2)
19     @c = C.new(1)
20     @d = C.new(3)
21   end
23   def test_00sanity # ZenTest SKIP
24     assert_equal( 0, @a <=> @a)
25     assert_equal( 0, @a <=> @c)
26     assert_equal(-1, @a <=> @b)
27     assert_equal( 1, @b <=> @a)
28   end
30   def test_between_eh
31     assert( @a.between?(@a, @c))
32     assert(!@a.between?(@b, @c))
33     assert( @b.between?(@a, @b))
34     assert( @b.between?(@a, @d))
35     assert(!@d.between?(@a, @b))
36     assert(!@d.between?(@b, @b))
37   end
39   def test_equals2
40     assert(  @a == @a)
41     assert(  @a == @c)
42     assert(!(@a == @b))
43     assert(  @a != @b)
44   end
46   def test_gt
47     assert(!(@a > @b))
48     assert(!(@a > @a))
49     assert( (@b > @a))
50   end
52   def test_gte
53     assert(!(@a >= @b))
54     assert( (@a >= @a))
55     assert( (@b >= @a))
56   end
58   def test_lt
59     assert( (@a < @b))
60     assert(!(@a < @a))
61     assert(!(@b < @a))
62   end
64   def test_lte
65     assert( (@a <= @b))
66     assert( (@a <= @a))
67     assert(!(@b <= @a))
68   end
69 end