Sha256: acdc82cb3cf5fb043b01d0272f77a1364c46e22ab04e8e28231e1f6af0b6ac8d
Contents?: true
Size: 1.93 KB
Versions: 1
Compression:
Stored size: 1.93 KB
Contents
require 'test/unit' require 'mega/dynamic_mixin' # fixture module D1 opt = local_parameters :name=>'Tom' define_method( :hello ) do "Hello from #{ opt[:name,self] }" end define_method( :goodbye ) do "Goodbye from #{ opt[:name,self] }" end end class C1 include D1, :name=>'George' end class C2 include D1 end module D2 include D1, :name=>'Norman' end class C3 include D2 end class C4 include D2, :name=>'Monkey' end module D3 include D2 attr_parameter :name=>'Bill' def hello "Hello from #{ name }" end end class C5 include D3, :name=>'Johnny' end class C6 include D3 end module D4 include D2 attr_parameters :options, :name=>'Kirk' def hello "Hello from #{ options(:name) }" end end class C7 include D4, :name=>'Bozo' end class C8 include D4 end # test class TC_Dynamic_Mixin < Test::Unit::TestCase def test_01 c = C1.new assert_equal( "Hello from George", c.hello ) assert_equal( "Goodbye from George", c.goodbye ) end def test_02 c = C2.new assert_equal( "Hello from Tom", c.hello ) assert_equal( "Goodbye from Tom", c.goodbye ) end def test_03 c = C3.new assert_equal( "Hello from Norman", c.hello ) assert_equal( "Goodbye from Norman", c.goodbye ) end def test_04 c = C4.new assert_equal( "Hello from Norman", c.hello ) assert_equal( "Goodbye from Norman", c.goodbye ) end def test_05 c = C5.new assert_equal( "Hello from Johnny", c.hello ) assert_equal( "Goodbye from Norman", c.goodbye ) end def test_06 c = C6.new assert_equal( "Hello from Bill", c.hello ) assert_equal( "Goodbye from Norman", c.goodbye ) end def test_07 c = C7.new assert_equal( "Hello from Bozo", c.hello ) assert_equal( "Goodbye from Norman", c.goodbye ) end def test_08 c = C8.new assert_equal( "Hello from Kirk", c.hello ) assert_equal( "Goodbye from Norman", c.goodbye ) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mega-0.3.1 | test/tc_dynamic_mixin.rb |