mirror of https://github.com/rails/rails
Remove any precision problem by comparing the float values
Rational values are move precise than float values so when comparing rationals values may be off by a few units that are hard to assert equality. Let's make sure we are comparing the float value with float values.
This commit is contained in:
parent
8fdbc2ae22
commit
57ae917e9d
|
@ -114,13 +114,15 @@ class TimeExtCalculationsTest < ActiveSupport::TestCase
|
||||||
assert_equal Rational(1, 1_000_000_000), time.sec_fraction
|
assert_equal Rational(1, 1_000_000_000), time.sec_fraction
|
||||||
|
|
||||||
time = Time.utc(2016, 4, 23, 0, 0, 0.000_000_001)
|
time = Time.utc(2016, 4, 23, 0, 0, 0.000_000_001)
|
||||||
assert_equal 0.000_000_001.to_r, time.sec_fraction
|
assert_kind_of Rational, time.sec_fraction
|
||||||
|
assert_equal 0.000_000_001, time.sec_fraction.to_f
|
||||||
|
|
||||||
time = Time.utc(2016, 4, 23, 0, 0, 0, Rational(1, 1_000))
|
time = Time.utc(2016, 4, 23, 0, 0, 0, Rational(1, 1_000))
|
||||||
assert_equal Rational(1, 1_000_000_000), time.sec_fraction
|
assert_equal Rational(1, 1_000_000_000), time.sec_fraction
|
||||||
|
|
||||||
time = Time.utc(2016, 4, 23, 0, 0, 0, 0.001)
|
time = Time.utc(2016, 4, 23, 0, 0, 0, 0.001)
|
||||||
assert_equal 0.001.to_r / 1000000, time.sec_fraction
|
assert_kind_of Rational, time.sec_fraction
|
||||||
|
assert_equal 0.001.to_r / 1000000, time.sec_fraction.to_f
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_beginning_of_day
|
def test_beginning_of_day
|
||||||
|
|
Loading…
Reference in New Issue