summaryrefslogtreecommitdiffstats
path: root/web/server/h2o/libh2o/deps/mruby/test/t/comparable.rb
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--web/server/h2o/libh2o/deps/mruby/test/t/comparable.rb80
1 files changed, 80 insertions, 0 deletions
diff --git a/web/server/h2o/libh2o/deps/mruby/test/t/comparable.rb b/web/server/h2o/libh2o/deps/mruby/test/t/comparable.rb
new file mode 100644
index 00000000..2ee28de7
--- /dev/null
+++ b/web/server/h2o/libh2o/deps/mruby/test/t/comparable.rb
@@ -0,0 +1,80 @@
+
+assert('Comparable#<', '15.3.3.2.1') do
+ class Foo
+ include Comparable
+ def <=>(x)
+ x
+ end
+ end
+ assert_false(Foo.new < 0)
+ assert_false(Foo.new < 1)
+ assert_true(Foo.new < -1)
+ assert_raise(ArgumentError){ Foo.new < nil }
+end
+
+assert('Comparable#<=', '15.3.3.2.2') do
+ class Foo
+ include Comparable
+ def <=>(x)
+ x
+ end
+ end
+ assert_true(Foo.new <= 0)
+ assert_false(Foo.new <= 1)
+ assert_true(Foo.new <= -1)
+ assert_raise(ArgumentError){ Foo.new <= nil }
+end
+
+assert('Comparable#==', '15.3.3.2.3') do
+ class Foo
+ include Comparable
+ def <=>(x)
+ 0
+ end
+ end
+
+ assert_true(Foo.new == Foo.new)
+end
+
+assert('Comparable#>', '15.3.3.2.4') do
+ class Foo
+ include Comparable
+ def <=>(x)
+ x
+ end
+ end
+ assert_false(Foo.new > 0)
+ assert_true(Foo.new > 1)
+ assert_false(Foo.new > -1)
+ assert_raise(ArgumentError){ Foo.new > nil }
+end
+
+assert('Comparable#>=', '15.3.3.2.5') do
+ class Foo
+ include Comparable
+ def <=>(x)
+ x
+ end
+ end
+ assert_true(Foo.new >= 0)
+ assert_true(Foo.new >= 1)
+ assert_false(Foo.new >= -1)
+ assert_raise(ArgumentError){ Foo.new >= nil }
+end
+
+assert('Comparable#between?', '15.3.3.2.6') do
+ class Foo
+ include Comparable
+ def <=>(x)
+ x
+ end
+ end
+
+ c = Foo.new
+
+ assert_false(c.between?(-1, 1))
+ assert_false(c.between?(-1, -1))
+ assert_false(c.between?( 1, 1))
+ assert_true(c.between?( 1, -1))
+ assert_true(c.between?(0, 0))
+end