Changeset 439 for EcnlProtoTool/trunk/mruby-2.1.1/test/t/integer.rb
- Timestamp:
- Jul 9, 2020, 8:51:43 AM (4 years ago)
- Location:
- EcnlProtoTool/trunk/mruby-2.1.1
- Files:
-
- 1 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
EcnlProtoTool/trunk/mruby-2.1.1/test/t/integer.rb
r331 r439 8 8 assert('Integer#+', '15.2.8.3.1') do 9 9 a = 1+1 10 b = 1+1.0 10 b = 1+1.0 if Object.const_defined?(:Float) 11 11 12 12 assert_equal 2, a 13 assert_equal 2.0, b 13 assert_equal 2.0, b if Object.const_defined?(:Float) 14 14 15 15 assert_raise(TypeError){ 0+nil } … … 18 18 c = Mrbtest::FIXNUM_MAX + 1 19 19 d = Mrbtest::FIXNUM_MAX.__send__(:+, 1) 20 21 skip unless Object.const_defined?(:Float) 20 22 e = Mrbtest::FIXNUM_MAX + 1.0 21 23 assert_equal Float, c.class … … 27 29 assert('Integer#-', '15.2.8.3.2') do 28 30 a = 2-1 29 b = 2-1.0 31 b = 2-1.0 if Object.const_defined?(:Float) 30 32 31 33 assert_equal 1, a 32 assert_equal 1.0, b 34 assert_equal 1.0, b if Object.const_defined?(:Float) 33 35 34 36 c = Mrbtest::FIXNUM_MIN - 1 35 37 d = Mrbtest::FIXNUM_MIN.__send__(:-, 1) 38 39 skip unless Object.const_defined?(:Float) 36 40 e = Mrbtest::FIXNUM_MIN - 1.0 37 41 assert_equal Float, c.class … … 43 47 assert('Integer#*', '15.2.8.3.3') do 44 48 a = 1*1 45 b = 1*1.0 49 b = 1*1.0 if Object.const_defined?(:Float) 46 50 47 51 assert_equal 1, a 48 assert_equal 1.0, b 52 assert_equal 1.0, b if Object.const_defined?(:Float) 49 53 50 54 assert_raise(TypeError){ 0*nil } … … 53 57 c = Mrbtest::FIXNUM_MAX * 2 54 58 d = Mrbtest::FIXNUM_MAX.__send__(:*, 2) 59 60 skip unless Object.const_defined?(:Float) 55 61 e = Mrbtest::FIXNUM_MAX * 2.0 56 62 assert_equal Float, c.class … … 149 155 assert_equal 23, 46 << -1 150 156 151 # Left Shift by 31 is bitShift overflow to SignedInt152 assert_equal 2147483648, 1 << 31 153 154 # -3 Left Shift by 30 is bitShift overflow to SignedInt155 assert_ equal(-3221225472, -3 << 30)157 skip unless Object.const_defined?(:Float) 158 159 # Overflow to Fixnum 160 assert_float 9223372036854775808.0, 1 << 63 161 assert_float(-13835058055282163712.0, -3 << 62) 156 162 end 157 163 … … 218 224 219 225 assert('Integer#to_f', '15.2.8.3.23') do 226 skip unless Object.const_defined?(:Float) 220 227 assert_equal 1.0, 1.to_f 221 228 end … … 226 233 227 234 assert('Integer#to_s', '15.2.8.3.25') do 228 assert_equal '1', 1.to_s 229 assert_equal("-1", -1.to_s) 235 assert_equal "1", 1.to_s 236 assert_equal "-1", -1.to_s 237 assert_equal "1010", 10.to_s(2) 238 assert_equal "a", 10.to_s(36) 239 assert_equal "-a", -10.to_s(36) 240 assert_equal "30071", 12345.to_s(8) 241 assert_raise(ArgumentError) { 10.to_s(-1) } 242 assert_raise(ArgumentError) { 10.to_s(0) } 243 assert_raise(ArgumentError) { 10.to_s(1) } 244 assert_raise(ArgumentError) { 10.to_s(37) } 230 245 end 231 246 … … 251 266 assert_equal [ 1, -6], -13.divmod(-7) 252 267 end 253 254 # Not ISO specified255 256 assert('Integer#step') do257 a = []258 b = []259 1.step(3) do |i|260 a << i261 end262 1.step(6, 2) do |i|263 b << i264 end265 266 assert_equal [1, 2, 3], a267 assert_equal [1, 3, 5], b268 end
Note:
See TracChangeset
for help on using the changeset viewer.