summaryrefslogtreecommitdiff
path: root/trunk/test/ruby/test_optimization.rb
diff options
context:
space:
mode:
authoryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-25 15:13:14 +0000
committeryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-25 15:13:14 +0000
commitd0233291bc8a5068e52c69c210e5979e5324b5bc (patch)
tree7d9459449c33792c63eeb7baa071e76352e0baab /trunk/test/ruby/test_optimization.rb
parent0dc342de848a642ecce8db697b8fecd83a63e117 (diff)
parent72eaacaa15256ab95c3b52ea386f88586fb9da40 (diff)
re-adding tag v1_9_0_4 as an alias of trunk@18848v1_9_0_4
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_9_0_4@18849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
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