require 'abstract_unit'
class TypedArrayTest < Test::Unit::TestCase
class StringArray < ActiveSupport::TypedArray
def self.type_cast(obj)
obj.to_s
end
end
def setup
@array = StringArray.new
end
def test_string_array_initialize
assert_equal ["1", "2", "3"], StringArray.new([1, "2", :"3"])
end
def test_string_array_append
@array << 1
@array << "2"
@array << :"3"
assert_equal ["1", "2", "3"], @array
end
def test_string_array_concat
@array.concat([1, "2"])
@array.concat([:"3"])
assert_equal ["1", "2", "3"], @array
end
def test_string_array_insert
@array.insert(0, 1)
@array.insert(1, "2")
@array.insert(2, :"3")
assert_equal ["1", "2", "3"], @array
end
def test_string_array_push
@array.push(1)
@array.push("2")
@array.push(:"3")
assert_equal ["1", "2", "3"], @array
end
def test_string_array_unshift
@array.unshift(:"3")
@array.unshift("2")
@array.unshift(1)
assert_equal ["1", "2", "3"], @array
end
end