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 31
|
require 'test/unit'
class TestObject < Test::Unit::TestCase
class TestClass
attr_accessor :var1
end
def setup
@test_class = TestClass.new
end
def test_instance_variable_get
@test_class.var1 = "c"
assert_equal("c", @test_class.instance_variable_get("@var1"))
@test_class.var1 = "d"
assert_equal("d", @test_class.instance_variable_get(:@var1))
assert_raise(NameError) { @test_class.instance_variable_get("var1") }
assert_raise(NameError) { @test_class.instance_variable_get(:var1) }
assert_nil(@test_class.instance_variable_get(:@var2))
end
def test_instance_variable_set
assert_equal("a", @test_class.instance_variable_set("@var1", "a"))
assert_equal("a", @test_class.var1)
assert_equal("b", @test_class.instance_variable_set(:@var1, "b"))
assert_equal("b", @test_class.var1)
assert_raise(NameError) { @test_class.instance_variable_set("var1", "x") }
assert_raise(NameError) { @test_class.instance_variable_set(:var1, "x") }
end
end
|