source: EcnlProtoTool/trunk/mruby-1.2.0/test/t/comparable.rb@ 270

Last change on this file since 270 was 270, checked in by coas-nagasima, 7 years ago

mruby版ECNLプロトタイピング・ツールを追加

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/x-ruby
File size: 1.4 KB
Line 
1
2assert('Comparable#<', '15.3.3.2.1') do
3 class Foo
4 include Comparable
5 def <=>(x)
6 x
7 end
8 end
9 assert_false(Foo.new < 0)
10 assert_false(Foo.new < 1)
11 assert_true(Foo.new < -1)
12 assert_raise(ArgumentError){ Foo.new < nil }
13end
14
15assert('Comparable#<=', '15.3.3.2.2') do
16 class Foo
17 include Comparable
18 def <=>(x)
19 x
20 end
21 end
22 assert_true(Foo.new <= 0)
23 assert_false(Foo.new <= 1)
24 assert_true(Foo.new <= -1)
25 assert_raise(ArgumentError){ Foo.new <= nil }
26end
27
28assert('Comparable#==', '15.3.3.2.3') do
29 class Foo
30 include Comparable
31 def <=>(x)
32 0
33 end
34 end
35
36 assert_true(Foo.new == Foo.new)
37end
38
39assert('Comparable#>', '15.3.3.2.4') do
40 class Foo
41 include Comparable
42 def <=>(x)
43 x
44 end
45 end
46 assert_false(Foo.new > 0)
47 assert_true(Foo.new > 1)
48 assert_false(Foo.new > -1)
49 assert_raise(ArgumentError){ Foo.new > nil }
50end
51
52assert('Comparable#>=', '15.3.3.2.5') do
53 class Foo
54 include Comparable
55 def <=>(x)
56 x
57 end
58 end
59 assert_true(Foo.new >= 0)
60 assert_true(Foo.new >= 1)
61 assert_false(Foo.new >= -1)
62 assert_raise(ArgumentError){ Foo.new >= nil }
63end
64
65assert('Comparable#between?', '15.3.3.2.6') do
66 class Foo
67 include Comparable
68 def <=>(x)
69 x
70 end
71 end
72
73 c = Foo.new
74
75 assert_false(c.between?(-1, 1))
76 assert_false(c.between?(-1, -1))
77 assert_false(c.between?( 1, 1))
78 assert_true(c.between?( 1, -1))
79 assert_true(c.between?(0, 0))
80end
Note: See TracBrowser for help on using the repository browser.