aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/numeric_data_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activerecord/test/cases/numeric_data_test.rb')
-rw-r--r--activerecord/test/cases/numeric_data_test.rb24
1 files changed, 22 insertions, 2 deletions
diff --git a/activerecord/test/cases/numeric_data_test.rb b/activerecord/test/cases/numeric_data_test.rb
index 14db63890e..304714979c 100644
--- a/activerecord/test/cases/numeric_data_test.rb
+++ b/activerecord/test/cases/numeric_data_test.rb
@@ -25,7 +25,6 @@ class NumericDataTest < ActiveRecord::TestCase
assert m.save
m1 = NumericData.find(m.id)
- assert_not_nil m1
assert_kind_of Integer, m1.world_population
assert_equal 2**62, m1.world_population
@@ -50,7 +49,6 @@ class NumericDataTest < ActiveRecord::TestCase
assert m.save
m1 = NumericData.find(m.id)
- assert_not_nil m1
assert_kind_of Integer, m1.world_population
assert_equal 2**62, m1.world_population
@@ -64,4 +62,26 @@ class NumericDataTest < ActiveRecord::TestCase
assert_kind_of BigDecimal, m1.big_bank_balance
assert_equal BigDecimal("234000567.95"), m1.big_bank_balance
end
+
+ if current_adapter?(:PostgreSQLAdapter)
+ def test_numeric_fields_with_nan
+ m = NumericData.new(
+ bank_balance: BigDecimal("NaN"),
+ big_bank_balance: BigDecimal("NaN"),
+ world_population: 2**62,
+ my_house_population: 3
+ )
+ assert_predicate m.bank_balance, :nan?
+ assert_predicate m.big_bank_balance, :nan?
+ assert m.save
+
+ m1 = NumericData.find_by(
+ bank_balance: BigDecimal("NaN"),
+ big_bank_balance: BigDecimal("NaN")
+ )
+
+ assert_predicate m1.bank_balance, :nan?
+ assert_predicate m1.big_bank_balance, :nan?
+ end
+ end
end