Skip to content

Commit 291a3d2

Browse files
committed
Exercise tests on decimal attribute values
And avoid the magic `to_d(4)`.
1 parent 6383577 commit 291a3d2

File tree

2 files changed

+12
-8
lines changed

2 files changed

+12
-8
lines changed

activerecord/test/cases/validations/numericality_validation_test.rb

+10-6
Original file line numberDiff line numberDiff line change
@@ -109,13 +109,17 @@ def test_virtual_attribute_with_precision_and_scale
109109
:virtual_decimal_number, less_than_or_equal_to: 99.99
110110
)
111111

112-
subject = model_class.new(virtual_decimal_number: 99.994)
113-
assert_equal 99.99.to_d(4), subject.virtual_decimal_number
114-
assert_predicate subject, :valid?
112+
["99.994", 99.994, BigDecimal("99.994")].each do |raw_value|
113+
subject = model_class.new(virtual_decimal_number: raw_value)
114+
assert_equal BigDecimal("99.99"), subject.virtual_decimal_number
115+
assert_predicate subject, :valid?
116+
end
115117

116-
subject = model_class.new(virtual_decimal_number: 99.999)
117-
assert_equal 100.00.to_d(4), subject.virtual_decimal_number
118-
assert_not_predicate subject, :valid?
118+
["99.999", 99.999, BigDecimal("99.999")].each do |raw_value|
119+
subject = model_class.new(virtual_decimal_number: raw_value)
120+
assert_equal BigDecimal("100.00"), subject.virtual_decimal_number
121+
assert_not_predicate subject, :valid?
122+
end
119123
end
120124

121125
def test_aliased_attribute

activerecord/test/cases/validations_test.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -189,13 +189,13 @@ def self.model_name
189189

190190
["97.179", 97.179, BigDecimal("97.179")].each do |raw_value|
191191
subject = klass.new(wibble: raw_value)
192-
assert_equal 97.18.to_d(4), subject.wibble
192+
assert_equal BigDecimal("97.18"), subject.wibble
193193
assert_predicate subject, :valid?
194194
end
195195

196196
["97.174", 97.174, BigDecimal("97.174")].each do |raw_value|
197197
subject = klass.new(wibble: raw_value)
198-
assert_equal 97.17.to_d(4), subject.wibble
198+
assert_equal BigDecimal("97.17"), subject.wibble
199199
assert_not_predicate subject, :valid?
200200
end
201201
end

0 commit comments

Comments
 (0)