summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-complex
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2021-03-26 17:20:25 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2021-03-26 17:20:25 +0900
commit01a8edea3530f0073f0d046c68853bfa17c058b5 (patch)
treeb79853c21859a616bb81584d75900ead83e80ceb /mrbgems/mruby-complex
parent9492e389b801c2a4f8e605fab3b1c5d4a0dc31f3 (diff)
downloadmruby-01a8edea3530f0073f0d046c68853bfa17c058b5.tar.gz
mruby-01a8edea3530f0073f0d046c68853bfa17c058b5.zip
complex.rb: add test for arithmetic operators. [ci skip]
Tests for (`Float` or `Integer`) `op` `Complex`. Also added test dependency to `mruby-rational` since `int_div` definition relies on `Rational` when `MRB_USE_RATIONAL` is defined.
Diffstat (limited to 'mrbgems/mruby-complex')
-rw-r--r--mrbgems/mruby-complex/mrbgem.rake1
-rw-r--r--mrbgems/mruby-complex/test/complex.rb12
2 files changed, 12 insertions, 1 deletions
diff --git a/mrbgems/mruby-complex/mrbgem.rake b/mrbgems/mruby-complex/mrbgem.rake
index cd81ecd02..5e88c2337 100644
--- a/mrbgems/mruby-complex/mrbgem.rake
+++ b/mrbgems/mruby-complex/mrbgem.rake
@@ -4,4 +4,5 @@ MRuby::Gem::Specification.new('mruby-complex') do |spec|
spec.summary = 'Complex class'
spec.build.defines << "MRB_USE_COMPLEX"
spec.add_dependency 'mruby-math', core: 'mruby-math'
+ spec.add_test_dependency('mruby-rational')
end
diff --git a/mrbgems/mruby-complex/test/complex.rb b/mrbgems/mruby-complex/test/complex.rb
index 8f9634048..85ee6e998 100644
--- a/mrbgems/mruby-complex/test/complex.rb
+++ b/mrbgems/mruby-complex/test/complex.rb
@@ -31,6 +31,8 @@ assert 'Complex#*' do
assert_complex Complex(-2, 9) * Complex(-9, 2), (0 - 85i)
assert_complex Complex(9, 8) * 4, (36 + 32i)
assert_complex Complex(20, 9) * 9.8, (196.0 + 88.2i)
+ assert_complex 4 * Complex(9, 8), (36 + 32i)
+ assert_complex 9.8 * Complex(20, 9), (196.0 + 88.2i)
end
assert 'Complex#+' do
@@ -39,6 +41,8 @@ assert 'Complex#+' do
assert_complex Complex(-2, 9) + Complex(-9, 2), (-11 + 11i)
assert_complex Complex(9, 8) + 4 , (13 + 8i)
assert_complex Complex(20, 9) + 9.8 , (29.8 + 9i)
+ assert_complex 4 + Complex(9, 8) , (13 + 8i)
+ assert_complex 9.8 + Complex(20, 9) , (29.8 + 9i)
end
assert 'Complex#-' do
@@ -47,10 +51,12 @@ assert 'Complex#-' do
assert_complex Complex(-2, 9) - Complex(-9, 2), (7 + 7i)
assert_complex Complex(9, 8) - 4 , (5 + 8i)
assert_complex Complex(20, 9) - 9.8 , (10.2 + 9i)
+ assert_complex 4 - Complex(9, 8) , (-5 - 8i)
+ assert_complex 10.5 - Complex(20, 9) , (-9.5 - 9i)
end
assert 'Complex#-@' do
- assert_complex(-Complex(1, 2), (-1 - 2i))
+ assert_complex((-1 - 2i), -Complex(1, 2))
end
assert 'Complex#/' do
@@ -59,6 +65,8 @@ assert 'Complex#/' do
assert_complex Complex(-2, 9) / Complex(-9, 2), ((36.0 / 85) - (77i / 85))
assert_complex Complex(9, 8) / 4 , ((9.0 / 4) + 2i)
assert_complex Complex(20, 9) / 9.8 , (2.0408163265306123 + 0.9183673469387754i)
+ assert_complex 4 / Complex(9, 8) , (0.2482758620689655 - 0.2206896551724138i)
+ assert_complex 9.8 / Complex(20, 9) , (0.4074844074844075 - 0.1833679833679834i)
if 1e39.infinite? then
# MRB_USE_FLOAT32 in effect
ten = 1e21
@@ -74,6 +82,8 @@ assert 'Complex#==' do
assert_true Complex(2, 3) == Complex(2, 3)
assert_true Complex(5) == 5
assert_true Complex(0) == 0.0
+ assert_true 5 == Complex(5)
+ assert_true 0.0 == Complex(0)
end
assert 'Complex#abs' do