Class AttributedClassTest
In: lib/attributed_class.rb
Parent: Test::Unit::TestCase

Methods

Included Modules

AttributedClass

Public Instance methods

[Source]

# File lib/attributed_class.rb, line 305
    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

[Validate]