summaryrefslogtreecommitdiff
path: root/trunk/test/ruby/test_optimization.rb
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/test/ruby/test_optimization.rb')
-rw-r--r--trunk/test/ruby/test_optimization.rb140
1 files changed, 0 insertions, 140 deletions
diff --git a/trunk/test/ruby/test_optimization.rb b/trunk/test/ruby/test_optimization.rb
deleted file mode 100644
index 8e8311e6ef..0000000000
--- a/trunk/test/ruby/test_optimization.rb
+++ /dev/null
@@ -1,140 +0,0 @@
-require 'test/unit'
-
-class TestRubyOptimization < Test::Unit::TestCase
-
- BIGNUM_POS_MIN_32 = 1073741824 # 2 ** 30
- if BIGNUM_POS_MIN_32.kind_of?(Fixnum)
- FIXNUM_MAX = 4611686018427387903 # 2 ** 62 - 1
- else
- FIXNUM_MAX = 1073741823 # 2 ** 30 - 1
- end
-
- BIGNUM_NEG_MAX_32 = -1073741825 # -2 ** 30 - 1
- if BIGNUM_NEG_MAX_32.kind_of?(Fixnum)
- FIXNUM_MIN = -4611686018427387904 # -2 ** 62
- else
- FIXNUM_MIN = -1073741824 # -2 ** 30
- end
-
- def redefine_method(klass, method)
- (@redefine_method_seq ||= 0)
- seq = (@redefine_method_seq += 1)
- eval(<<-End, ::TOPLEVEL_BINDING)
- class #{klass}
- alias redefine_method_orig_#{seq} #{method}
- undef #{method}
- def #{method}(*args)
- args[0]
- end
- end
- End
- begin
- return yield
- ensure
- eval(<<-End, ::TOPLEVEL_BINDING)
- class #{klass}
- undef #{method}
- alias #{method} redefine_method_orig_#{seq}
- end
- End
- end
- end
-
- def test_fixnum_plus
- a, b = 1, 2
- assert_equal 3, a + b
- assert_instance_of Fixnum, FIXNUM_MAX
- assert_instance_of Bignum, FIXNUM_MAX + 1
-
- assert_equal 21, 10 + 11
- assert_equal 11, redefine_method('Fixnum', '+') { 10 + 11 }
- assert_equal 21, 10 + 11
- end
-
- def test_fixnum_minus
- assert_equal 5, 8 - 3
- assert_instance_of Fixnum, FIXNUM_MIN
- assert_instance_of Bignum, FIXNUM_MIN - 1
-
- assert_equal 5, 8 - 3
- assert_equal 3, redefine_method('Fixnum', '-') { 8 - 3 }
- assert_equal 5, 8 - 3
- end
-
- def test_fixnum_mul
- assert_equal 15, 3 * 5
- end
-
- def test_fixnum_div
- assert_equal 3, 15 / 5
- end
-
- def test_fixnum_mod
- assert_equal 1, 8 % 7
- end
-
- def test_float_plus
- assert_equal 4.0, 2.0 + 2.0
- assert_equal 2.0, redefine_method('Float', '+') { 2.0 + 2.0 }
- assert_equal 4.0, 2.0 + 2.0
- end
-
- def test_string_length
- assert_equal 6, "string".length
- assert_nil redefine_method('String', 'length') { "string".length }
- assert_equal 6, "string".length
- end
-
- def test_string_plus
- assert_equal "", "" + ""
- assert_equal "x", "x" + ""
- assert_equal "x", "" + "x"
- assert_equal "ab", "a" + "b"
- assert_equal 'b', redefine_method('String', '+') { "a" + "b" }
- assert_equal "ab", "a" + "b"
- end
-
- def test_string_succ
- assert_equal 'b', 'a'.succ
- assert_equal 'B', 'A'.succ
- end
-
- def test_string_format
- assert_equal '2', '%d' % 2
- end
-
- def test_array_plus
- assert_equal [1,2], [1]+[2]
- end
-
- def test_array_minus
- assert_equal [2], [1,2] - [1]
- end
-
- def test_array_length
- assert_equal 0, [].length
- assert_equal 3, [1,2,3].length
- end
-
- def test_hash_length
- assert_equal 0, {}.length
- assert_equal 1, {1=>1}.length
- end
-
- class MyObj
- def ==(other)
- true
- end
- end
-
- def test_eq
- assert_equal true, nil == nil
- assert_equal true, 1 == 1
- assert_equal true, 'string' == 'string'
- assert_equal true, 1 == MyObj.new
- assert_equal false, nil == MyObj.new
- assert_equal true, MyObj.new == 1
- assert_equal true, MyObj.new == nil
- end
-
-end