From 6e0c343783c7ea8b04706b894ca1480186545988 Mon Sep 17 00:00:00 2001 From: Michael Vezzani Date: Mon, 27 Jan 2014 16:21:58 -0500 Subject: [PATCH] Create MessageBoard class and get it to receive messages from both Conductor and Engineer. --- train.rb | 14 ++++++++++++++ train_spec.rb | 19 +++++++++++++------ 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/train.rb b/train.rb index bc6dbcb..16f0077 100644 --- a/train.rb +++ b/train.rb @@ -12,4 +12,18 @@ def see_danger_coming! end class Engineer + + attr_reader :conductor + + def initialize(conductor) + @conductor = conductor + end + + def slow_down! + conductor.confirm_slow_down + end +end + +class MessageBoard + end \ No newline at end of file diff --git a/train_spec.rb b/train_spec.rb index de4cff5..0c82ee6 100644 --- a/train_spec.rb +++ b/train_spec.rb @@ -1,13 +1,20 @@ require 'rspec' require './train' -describe Conductor do - let(:engineer) { Engineer.new } - let(:conductor) { Conductor.new(engineer)} +describe MessageBoard do - it "should tell the engineer to slow down" do - engineer.should_receive(:slow_down!) + let(:message_board) { MessageBoard.new } + let(:conductor) { Conductor.new(message_board) } + let(:engineer) { Engineer.new(message_board) } + + it "receives a message from the conductor" do + message_board.should_receive(:slow_down!) conductor.see_danger_coming! end - + + it "receives a confirmation from the engineer" do + message_board.should_receive(:confirm_slow_down) + engineer.slow_down! + end + end \ No newline at end of file