aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/core_ext/float_ext_test.rb
blob: d19b5ecf4704fd5aca78076d107bbd051abf3bfa (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
require '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