mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
ce03e7d991
Related to d4eb0dc89e (r27830891)
67 lines
1.8 KiB
Ruby
67 lines
1.8 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require "cases/helper"
|
|
require "models/numeric_data"
|
|
|
|
class NumericDataTest < ActiveRecord::TestCase
|
|
def test_big_decimal_conditions
|
|
m = NumericData.new(
|
|
bank_balance: 1586.43,
|
|
big_bank_balance: BigDecimal("1000234000567.95"),
|
|
world_population: 6000000000,
|
|
my_house_population: 3
|
|
)
|
|
assert m.save
|
|
assert_equal 0, NumericData.where("bank_balance > ?", 2000.0).count
|
|
end
|
|
|
|
def test_numeric_fields
|
|
m = NumericData.new(
|
|
bank_balance: 1586.43,
|
|
big_bank_balance: BigDecimal("1000234000567.95"),
|
|
world_population: 2**62,
|
|
my_house_population: 3
|
|
)
|
|
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
|
|
|
|
assert_kind_of Integer, m1.my_house_population
|
|
assert_equal 3, m1.my_house_population
|
|
|
|
assert_kind_of BigDecimal, m1.bank_balance
|
|
assert_equal BigDecimal("1586.43"), m1.bank_balance
|
|
|
|
assert_kind_of BigDecimal, m1.big_bank_balance
|
|
assert_equal BigDecimal("1000234000567.95"), m1.big_bank_balance
|
|
end
|
|
|
|
def test_numeric_fields_with_scale
|
|
m = NumericData.new(
|
|
bank_balance: 1586.43122334,
|
|
big_bank_balance: BigDecimal("234000567.952344"),
|
|
world_population: 2**62,
|
|
my_house_population: 3
|
|
)
|
|
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
|
|
|
|
assert_kind_of Integer, m1.my_house_population
|
|
assert_equal 3, m1.my_house_population
|
|
|
|
assert_kind_of BigDecimal, m1.bank_balance
|
|
assert_equal BigDecimal("1586.43"), m1.bank_balance
|
|
|
|
assert_kind_of BigDecimal, m1.big_bank_balance
|
|
assert_equal BigDecimal("234000567.95"), m1.big_bank_balance
|
|
end
|
|
end
|