Sha256: c5f4b64237122d426eb6b37f3f8b2ca49a0cfc5a51a9ca987f10891bb24c9b0f
Contents?: true
Size: 1012 Bytes
Versions: 1
Compression:
Stored size: 1012 Bytes
Contents
require 'test_helper' class Person extend Direction command [:make_me_a_sandwich, :cook] => :@friend attr_accessor :friend end class Friend def make_me_a_sandwich Menu.record "I made a sandwich!" end def cook(what) Menu.record what end end module Menu def self.record(text) list << text end def self.list @list ||= [] end def self.clear @list = [] end end describe Direction do let(:friend){ Friend.new } let(:person){ person = Person.new person.friend = friend person } before do Menu.clear end it 'forwards a message to another object' do assert_equal [], Menu.list person.make_me_a_sandwich assert_includes Menu.list, "I made a sandwich!" end it 'returns the original receiver' do assert_equal person, person.make_me_a_sandwich end it 'forwards additional arguments' do assert_equal [], Menu.list person.cook('yum') assert_includes Menu.list, "yum" end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
direction-0.0.2 | test/direction_test.rb |