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 "cases/helper"
class NumberTest < ActiveRecord::TestCase
def setup
@column = ActiveRecord::ConnectionAdapters::Column.new('comments_count', 0, 'integer')
@number = ActiveRecord::Type::Number.new(@column)
end
test "typecast" do
assert_equal 1, @number.cast(1)
assert_equal 1, @number.cast('1')
assert_equal 0, @number.cast('')
assert_equal 0, @number.precast(false)
assert_equal 1, @number.precast(true)
assert_equal nil, @number.precast('')
assert_equal 0, @number.precast(0)
end
test "cast as boolean" do
assert_equal true, @number.boolean('1')
assert_equal true, @number.boolean(1)
assert_equal false, @number.boolean(0)
assert_equal false, @number.boolean('0')
assert_equal false, @number.boolean(nil)
end
end
|