diff --git a/train.rb b/train.rb index bc6dbcb..7aa4e0d 100644 --- a/train.rb +++ b/train.rb @@ -1,15 +1,26 @@ class Conductor + attr_reader :messageBoard - attr_reader :engineer - - def initialize(engineer) - @engineer = engineer + def initialize(messageBoard) + @messageBoard = messageBoard end def see_danger_coming! - engineer.slow_down! + messageBoard.slow_down! end end class Engineer + attr_reader :messageBoard + + def initialize(messageBoard) + @messageBoard = messageBoard + end + + def slows_down + messageBoard.confirm_slowdown! + end +end + +class MessageBoard end \ No newline at end of file diff --git a/train_spec.rb b/train_spec.rb index de4cff5..343d1c2 100644 --- a/train_spec.rb +++ b/train_spec.rb @@ -1,13 +1,23 @@ require 'rspec' +require '../../../spec_helper' require './train' -describe Conductor do - let(:engineer) { Engineer.new } - let(:conductor) { Conductor.new(engineer)} +describe Conductor do + let(:messageBoard) {MessageBoard.new} + let(:conductor) {Conductor.new(messageBoard)} - it "should tell the engineer to slow down" do - engineer.should_receive(:slow_down!) + it "should tell the messageboard to slowdown" do + messageBoard.should_receive(:slow_down!) conductor.see_danger_coming! end - +end + +describe Engineer do + let(:messageBoard) {MessageBoard.new} + let(:engineer) {Engineer.new(messageBoard)} + + it "should tell the messageBoard slowdown was confirmed" do + messageBoard.should_receive(:confirm_slowdown!) + engineer.slows_down + end end \ No newline at end of file diff --git a/train_test.rb b/train_test.rb index 3108758..e797660 100644 --- a/train_test.rb +++ b/train_test.rb @@ -2,10 +2,10 @@ require 'minitest/mock' require './train' -class ConductorTest < MiniTest::Unit::TestCase +class ConductorTest < Minitest::Test def setup - @engineer = MiniTest::Mock.new + @engineer = Minitest::Mock.new @conductor = Conductor.new(@engineer) end