Sha256: 5e3172b9d453b58d29ef449c29e2bd9926fd8e0a93b6f42d5a32afa98f816fbb

Contents?: true

Size: 1.8 KB

Versions: 4

Compression:

Stored size: 1.8 KB

Contents

require File.dirname(__FILE__) + '/helper.rb'

class TestComparisons < Test::Unit::TestCase


  def setup
    initialize_context
  end

  def test_hash
    assert_equal Decimal('1.1').hash, Decimal('1.1').hash
    assert_equal Decimal('1.1').hash, (Decimal('1.0')+Decimal('0.1')).hash
    assert_equal Decimal('1.1',:precision=>10).hash, Decimal('1.1',:precision=>3).hash
    assert_not_equal Decimal('1.0').hash, Decimal('1.1').hash
    assert_not_equal Decimal('1.0').hash, 1.0.hash
    assert_not_equal Decimal('1.0').hash, 1.hash

    assert Decimal('1.1').eql?(Decimal('1.1'))
    assert Decimal('1.1').eql?(Decimal('1.0')+Decimal('0.1'))
    assert Decimal('1.1',:precision=>10).eql?(Decimal('1.1',:precision=>3))
    assert !Decimal('1.1').eql?(Decimal('1.0'))
    assert !Decimal('1.0').eql?(1.0)
    assert !Decimal('1.0').eql?(1)
  end

  def test_equality
    assert Decimal('1.1') == Decimal('1.1')
    assert Decimal('1.1') == (Decimal('1.0')+Decimal('0.1'))
    assert Decimal('1.1',:precision=>10) == Decimal('1.1',:precision=>3)
    assert !(Decimal('1.1') == Decimal('1.0'))
    #assert Decimal('1.1') == 1.1
    #assert Decimal('1.0') == 1.0
    #assert Decimal('1.0') == BigDecimal.new('1.000')
    assert Decimal('1.0') == 1
    assert Decimal('0.1') == Rational(1)/Rational(10)

    assert !(Decimal.nan == Decimal.nan)
    assert !(Decimal.nan == Decimal('1'))
    assert !(Decimal.nan == Decimal('0'))
    assert !(Decimal.nan == Decimal.infinity)
    #assert !(Decimal.nan == (0.0/0.0))

    assert !(Decimal.infinity(+1) == Decimal.infinity(-1))
    assert !(Decimal.infinity(+1) == Decimal('0'))
    assert Decimal.infinity(+1) == Decimal.infinity
    assert Decimal.infinity(+1) == Decimal('1')/Decimal('0')
    assert Decimal.infinity(-1) == Decimal('-1')/Decimal('0')

    # TODO: test <=> <= etc.
  end


end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ruby-decimal-0.1.0 test/test_comparisons.rb
ruby-decimal-0.2.0 test/test_comparisons.rb
ruby-decimal-0.2.1 test/test_comparisons.rb
ruby-decimal-0.2.2 test/test_comparisons.rb