Sha256: 4ab4c28181a1da43904c57ea267273e7dbd356e62dc0bb8be5c67c9f87851ad5
Contents?: true
Size: 998 Bytes
Versions: 1
Compression:
Stored size: 998 Bytes
Contents
##################################################### # tc_interface.rb # # Test suite for the Interface module. ##################################################### if File.basename(Dir.pwd) == "test" $:.unshift "../lib" end require "test/unit" require "interface" TestInterface = interface{ required_methods :foo, :bar } TestSubInterface = interface{ extend TestInterface required_methods :baz } class A; end class B def foo; end def bar; end end class C < B def baz; end end class TC_Interface < Test::Unit::TestCase def test_version assert_equal("0.1.0",Interface::VERSION) end def test_requirements_not_met assert_raises(Interface::MethodMissing){ A.new.extend(TestInterface) } assert_raises(Interface::MethodMissing){ B.new.extend(TestSubInterface) } end def test_requirements_met assert_nothing_raised{ B.new.extend(TestInterface) } assert_nothing_raised{ C.new.extend(TestSubInterface) } end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
carats-0.3.0 | lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/test/tc_interface.rb |