Sha256: 303d079f240734270f9c3981d10d294bcde2129d7a05104f9b26bce5ac817415

Contents?: true

Size: 1.77 KB

Versions: 20

Compression:

Stored size: 1.77 KB

Contents

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

class TestComparisons < Test::Unit::TestCase


  def setup
    initialize_context
  end

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

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

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

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

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

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


end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
flt-1.5.0 test/test_comparisons.rb
flt-1.4.7 test/test_comparisons.rb
flt-1.4.6 test/test_comparisons.rb
flt-1.4.5 test/test_comparisons.rb
flt-1.4.4 test/test_comparisons.rb
flt-1.4.3 test/test_comparisons.rb
flt-1.4.2 test/test_comparisons.rb
flt-1.4.1 test/test_comparisons.rb
flt-1.4.0 test/test_comparisons.rb
flt-1.3.4 test/test_comparisons.rb
flt-1.3.3 test/test_comparisons.rb
flt-1.3.2 test/test_comparisons.rb
flt-1.3.1 test/test_comparisons.rb
flt-1.3.0 test/test_comparisons.rb
flt-1.2.1 test/test_comparisons.rb
flt-1.2.0 test/test_comparisons.rb
flt-1.1.2 test/test_comparisons.rb
flt-1.1.1 test/test_comparisons.rb
flt-1.1.0 test/test_comparisons.rb
flt-1.0.0 test/test_comparisons.rb