So, for this model method:
def tax_rate tax_rate = 0.0 tax_rate += STATE_TAX if state_taxable? #STATE_TAX = 0.1 tax_rate += IMPORT_TAX if imported? #IMPORT_TAX = 0.05 tax_rate end
This test fails:
@item.update_attributes({:state_taxable => true, :imported => true, :price => 32.19}) assert_equal 0.15, @item.tax_rate
I get this error:
<0.15> expected but was <0.15>.
However, this test will pass:
@item.update_attributes({:state_taxable => true, :imported => false, :price => 14.99}) assert_equal 0.1, @item.tax_rate
So, I get an error when tax_rate does 0.0 + 0.1 + 0.05, but not when 0.0 + 0.1, or 0.0 + 0.05. Both 0.15s are Float, so I don't see what could be causing this. I have been thinking about this for too long, I hope someone can indicate what kind of a criminal this is. Thanks in advance guys.
source share