From ad203bcb2be17e06909ab6d67ab2475673673bbc Mon Sep 17 00:00:00 2001 From: Andreas Eger Date: Sun, 11 Dec 2016 03:30:08 +0100 Subject: fix floating point accuracy problem in Timestamp#to_f `.quo` return the most exact devision which fixes accuracy problems for the timestamp coercion --- ruby/tests/well_known_types_test.rb | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'ruby/tests') diff --git a/ruby/tests/well_known_types_test.rb b/ruby/tests/well_known_types_test.rb index 9b46632b..ad8531d9 100644 --- a/ruby/tests/well_known_types_test.rb +++ b/ruby/tests/well_known_types_test.rb @@ -13,10 +13,15 @@ class TestWellKnownTypes < Test::Unit::TestCase assert_equal Time.at(12345), ts.to_time assert_equal 12345, ts.to_i - ts.from_time(Time.at(123456, 654321)) + time = Time.at(123456, 654321) + ts.from_time(time) assert_equal 123456, ts.seconds assert_equal 654321000, ts.nanos - assert_equal Time.at(123456.654321), ts.to_time + assert_equal time, ts.to_time + + time = Time.now + ts.from_time(time) + assert_equal time.to_f, ts.to_time.to_f end def test_duration -- cgit v1.2.3