aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/core_ext/float_ext_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activesupport/test/core_ext/float_ext_test.rb')
-rw-r--r--activesupport/test/core_ext/float_ext_test.rb25
1 files changed, 25 insertions, 0 deletions
diff --git a/activesupport/test/core_ext/float_ext_test.rb b/activesupport/test/core_ext/float_ext_test.rb
new file mode 100644
index 0000000000..b74add519f
--- /dev/null
+++ b/activesupport/test/core_ext/float_ext_test.rb
@@ -0,0 +1,25 @@
+require File.dirname(__FILE__) + '/../abstract_unit'
+
+class FloatExtRoundingTests < Test::Unit::TestCase
+ def test_round_for_positive_number
+ assert_equal 1, 1.4.round
+ assert_equal 2, 1.6.round
+ assert_equal 2, 1.6.round(0)
+ assert_equal 1.4, 1.4.round(1)
+ assert_equal 1.4, 1.4.round(3)
+ assert_equal 1.5, 1.45.round(1)
+ assert_equal 1.45, 1.445.round(2)
+ end
+
+ def test_round_for_negative_number
+ assert_equal( -1, -1.4.round )
+ assert_equal( -2, -1.6.round )
+ assert_equal( -1.4, -1.4.round(1) )
+ assert_equal( -1.5, -1.45.round(1) )
+ end
+
+ def test_round_with_negative_precision
+ assert_equal 123460.0, 123456.0.round(-1)
+ assert_equal 123500.0, 123456.0.round(-2)
+ end
+end