diff --git a/spec/message_board_spec.rb b/spec/message_board_spec.rb new file mode 100644 index 0000000..f0abe93 --- /dev/null +++ b/spec/message_board_spec.rb @@ -0,0 +1,18 @@ +require 'rspec' +require './train' +describe MessageBoard do + + let(:message_board) { MessageBoard.new } + let(:engineer) { Engineer.new(message_board) } + let(:conductor) { Conductor.new(message_board)} + + it "should tell the engineer to slow down" do + message_board.should_receive(:slow_down!) + conductor.see_danger_coming! + end + + it "should confirm to the conductor that it slowed down" do + message_board.should_receive(:confirm_slow_down) + engineer.slowing_down! + end +end diff --git a/train.rb b/train.rb index bc6dbcb..6b07e86 100644 --- a/train.rb +++ b/train.rb @@ -1,15 +1,27 @@ class Conductor - attr_reader :engineer + attr_reader :message_board - def initialize(engineer) - @engineer = engineer + def initialize(message_board) + @message_board = message_board end def see_danger_coming! - engineer.slow_down! + message_board.slow_down! end end class Engineer -end \ No newline at end of file + attr_reader :message_board + def initialize(message_board) + @message_board = message_board + end + + def slowing_down! + message_board.confirm_slow_down + end +end + +class MessageBoard + +end diff --git a/train_spec.rb b/train_spec.rb index de4cff5..d393e69 100644 --- a/train_spec.rb +++ b/train_spec.rb @@ -10,4 +10,4 @@ conductor.see_danger_coming! end -end \ No newline at end of file +end