aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/types/number_test.rb
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2009-10-19 12:33:36 -0700
committerJeremy Kemper <jeremy@bitsweat.net>2009-10-19 12:33:36 -0700
commita49c3b03650b3193cc9440a3b219ab7f19326297 (patch)
treedd68d637a074bc08d1328d780aeb092b2a4c8874 /activerecord/test/cases/types/number_test.rb
parent028911ad00e7f7733064a80393a1548401bba7af (diff)
parent1ac5cf478825391071d34ec3d7f294fe28c0fceb (diff)
downloadrails-a49c3b03650b3193cc9440a3b219ab7f19326297.tar.gz
rails-a49c3b03650b3193cc9440a3b219ab7f19326297.tar.bz2
rails-a49c3b03650b3193cc9440a3b219ab7f19326297.zip
Merge branch 'master' of github.com:rails/rails
Diffstat (limited to 'activerecord/test/cases/types/number_test.rb')
-rw-r--r--activerecord/test/cases/types/number_test.rb30
1 files changed, 30 insertions, 0 deletions
diff --git a/activerecord/test/cases/types/number_test.rb b/activerecord/test/cases/types/number_test.rb
new file mode 100644
index 0000000000..ee7216a0f1
--- /dev/null
+++ b/activerecord/test/cases/types/number_test.rb
@@ -0,0 +1,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