def test_simple
c = Class.new
assert_nothing_raised do
c.module_eval { include AttributedClass }
end
assert_equal([], c.attributes)
assert_nothing_raised do
c.module_eval { attribute :foo, 'foofoo', 42 }
end
cc, d, dd = nil, nil, nil
assert_nothing_raised { cc = c.new }
assert_nothing_raised { cc.initialize_attributes }
assert_equal(42, cc.foo)
assert_nothing_raised { cc.foo = 32 }
assert_equal(32, cc.foo)
assert_nothing_raised { d = Class.new(c) }
assert_nothing_raised do
d.module_eval { attribute :bar, 'foofoo', :mandatory }
end
assert_nothing_raised { dd = d.new }
assert_nothing_raised { dd.initialize_attributes }
assert_raise(AttributedClass::AttributeError) do
dd.check_attributes
end
end