diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2019-04-12 22:58:57 +0900 |
|---|---|---|
| committer | GitHub <[email protected]> | 2019-04-12 22:58:57 +0900 |
| commit | 7f1984a01e4d539db3844f2fe6d18fc0a42a580e (patch) | |
| tree | 2e79bdb399094e2d585be0b6d98326e1357d99d4 | |
| parent | befdf59e610b43e7043b83074a2cc34070ae4e5f (diff) | |
| parent | 6626fbc5006d662f8fc69a51660ae7c1e998a1f0 (diff) | |
| download | mruby-7f1984a01e4d539db3844f2fe6d18fc0a42a580e.tar.gz mruby-7f1984a01e4d539db3844f2fe6d18fc0a42a580e.zip | |
Merge pull request #4372 from shuujii/refine-assert_float
Refine `assert_float`
| -rw-r--r-- | test/assert.rb | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/test/assert.rb b/test/assert.rb index c57b04c12..e0fac4d90 100644 --- a/test/assert.rb +++ b/test/assert.rb @@ -149,11 +149,11 @@ end # Fails unless +exp+ is equal to +act+ in terms of a Float def assert_float(exp, act, msg = nil) e, a = exp.to_f, act.to_f - if (e.infinite? || a.infinite?) && e != a || + if e.finite? && a.finite? && (n = (e - a).abs) > Mrbtest::FLOAT_TOLERANCE + flunk(msg, " Expected |#{exp} - #{act}| (#{n}) to be <= #{Mrbtest::FLOAT_TOLERANCE}.") + elsif (e.infinite? || a.infinite?) && e != a || e.nan? && !a.nan? || !e.nan? && a.nan? flunk(msg, " Expected #{act} to be #{exp}.") - elsif (n = (e - a).abs) > Mrbtest::FLOAT_TOLERANCE - flunk(msg, " Expected |#{exp} - #{act}| (#{n}) to be <= #{Mrbtest::FLOAT_TOLERANCE}.") else pass end |
