Sha256: 5300b709ccabf7d389a90a9fdeb8a7b76422d334801148757b6999c33a7c87e4
Contents?: true
Size: 1.63 KB
Versions: 3
Compression:
Stored size: 1.63 KB
Contents
require File.expand_path(File.dirname(__FILE__)) + '/helper' class TestCasts < Test::Unit::TestCase D = 0.0001 class Testable include Tracksperanto::Casts attr_accessor :vanilla, :str_attr, :int_attr, :float_attr cast_to_string :str_attr cast_to_int :int_attr cast_to_float :float_attr cast_to_bool :truthy end class Junk def to_s "Random" end end def test_cast_to_float t = Testable.new assert_kind_of Float, t.float_attr, "Uninitialized float attr should be a float" assert_in_delta 0, t.float_attr, D t.float_attr = "3" assert_kind_of Float, t.float_attr assert_in_delta 3.0, t.float_attr, D t.float_attr = "a" assert_kind_of Float, t.float_attr assert_in_delta 0, t.float_attr, D end def test_cast_to_bool t = Testable.new assert_equal false, t.truthy t.truthy = nil assert_equal false, t.truthy t.truthy = false assert_equal false, t.truthy t.truthy = "yes" assert_equal true, t.truthy t.truthy = 1 assert_equal true, t.truthy end def test_cast_to_int t = Testable.new assert_equal 0, t.int_attr, "Uninitialized int attr should be an int" t.int_attr = "3.1" assert_kind_of Integer, t.int_attr assert_equal 3, t.int_attr t.float_attr = 3.1 assert_kind_of Integer, t.int_attr assert_equal 3, t.int_attr end def test_cast_to_string t = Testable.new assert_equal '', t.str_attr t.str_attr = 3.123 assert_equal "3.123", t.str_attr t.str_attr = Junk.new assert_equal "Random", t.str_attr end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
tracksperanto-4.1.2 | test/test_casts.rb |
tracksperanto-4.1.0 | test/test_casts.rb |
tracksperanto-4.0.0 | test/test_casts.rb |