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 26 27 28 29 30
|
require_relative '../../spec_helper'
require 'bigdecimal'
describe "BidDecimal#hash" do
describe "two BigDecimal objects with the same value" do
it "should have the same hash for ordinary values" do
BigDecimal('1.2920').hash.should == BigDecimal('1.2920').hash
end
it "should have the same hash for infinite values" do
BigDecimal("+Infinity").hash.should == BigDecimal("+Infinity").hash
BigDecimal("-Infinity").hash.should == BigDecimal("-Infinity").hash
end
it "should have the same hash for NaNs" do
BigDecimal("NaN").hash.should == BigDecimal("NaN").hash
end
it "should have the same hash for zero values" do
BigDecimal("+0").hash.should == BigDecimal("+0").hash
BigDecimal("-0").hash.should == BigDecimal("-0").hash
end
end
describe "two BigDecimal objects with numerically equal values" do
it "should have the same hash value" do
BigDecimal("1.2920").hash.should == BigDecimal("1.2920000").hash
end
end
end
|