Module: InterfaceTest
- Defined in:
- lib/type_struct/interface_test.rb
Constant Summary collapse
- Interface =
TypeStruct::Interface
- Reader =
Interface.new(:read)
- Writer =
Interface.new(:write)
- ReadWriter =
Interface.new(:read, :write)
Instance Method Summary collapse
Instance Method Details
#test_equal(t) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/type_struct/interface_test.rb', line 21 def test_equal(t) r = Object.new def r.read end case r when Reader else t.error("expect Reader === r is true") end w = Object.new def w.write end case w when Writer else t.error("expect Writer === w is true") end case r when ReadWriter t.error("expect ReadWriter === r is false") end end |
#test_initialize(t) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/type_struct/interface_test.rb', line 5 def test_initialize(t) unless Interface === Interface.new t.error("return value was break") end unless Interface === Interface.new(:foo) t.error("return value was break") end unless Interface === Interface.new(:foo, :bar) t.error("return value was break") end end |
#test_or(t) ⇒ Object
46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/type_struct/interface_test.rb', line 46 def test_or(t) r_or_w = Reader | Writer r = Object.new def r.read end case r when r_or_w else t.error("expect rw === r is true") end end |