Sha256: 7b6d36f9678602f986c6c64e6e442c97d375e9dcea02fe3faf53afbc60e3d374

Contents?: true

Size: 1.82 KB

Versions: 4

Compression:

Stored size: 1.82 KB

Contents

require File.expand_path(File.join(File.dirname(__FILE__),'helper.rb'))

class TestBigDecimal < Minitest::Test

  def setup
    initialize_context
  end

  def test_sign
    assert_equal(-1, BigDecimal.context.sign(BigDecimal('-1.0')))
    assert_equal(-1, BigDecimal.context.sign(BigDecimal('-10.0')))
    assert_equal(-1, BigDecimal.context.sign(BigDecimal('-10E50')))
    assert_equal(-1, BigDecimal.context.sign(BigDecimal('-10E-50')))
    assert_equal(-1, BigDecimal.context.sign(BigDecimal('-723')))
    assert_equal(-1, BigDecimal.context.sign(BigDecimal('-0.0')))

    assert_equal(+1, BigDecimal.context.sign(BigDecimal('+1.0')))
    assert_equal(+1, BigDecimal.context.sign(BigDecimal('+10.0')))
    assert_equal(+1, BigDecimal.context.sign(BigDecimal('+10E50')))
    assert_equal(+1, BigDecimal.context.sign(BigDecimal('+10E-50')))
    assert_equal(+1, BigDecimal.context.sign(BigDecimal('+723')))
    assert_equal(+1, BigDecimal.context.sign(BigDecimal('0.0')))

    assert_nil BigDecimal.context.sign(BigDecimal.context.nan)
  end

  def copy_sign
    assert_equal(-BigDecimal('1.23'), BigDecimal.context.copy_sign(BigDecimal('1.23'), -1))
    assert_equal(-BigDecimal('1.23'), BigDecimal.context.copy_sign(BigDecimal('1.23'), BigDecimal('-10')))
    assert_equal(-BigDecimal('1.23'), BigDecimal.context.copy_sign(BigDecimal('-1.23'), -1))
    assert_equal(-BigDecimal('1.23'), BigDecimal.context.copy_sign(BigDecimal('-1.23'), BigDecimal('-10')))
    assert_equal(BigDecimal('1.23'), BigDecimal.context.copy_sign(BigDecimal('-1.23'), +1))
    assert_equal(BigDecimal('1.23'), BigDecimal.context.copy_sign(BigDecimal('-1.23'), BigDecimal('+10')))
    assert_equal(BigDecimal('1.23'), BigDecimal.context.copy_sign(BigDecimal('1.23'), +1))
    assert_equal(BigDecimal('1.23'), BigDecimal.context.copy_sign(BigDecimal('1.23'), BigDecimal('+10')))
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
flt-1.5.4 test/test_big_decimal.rb
flt-1.5.3 test/test_big_decimal.rb
flt-1.5.2 test/test_big_decimal.rb
flt-1.5.1 test/test_big_decimal.rb