From a0f69029d1916163ec9fad68dab96943dc039e2a Mon Sep 17 00:00:00 2001 From: Adam Lowe Date: Sat, 1 Mar 2014 11:02:16 -0800 Subject: [PATCH 1/7] Added MessageBoard and message_board_spec --- train.rb | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) 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 From 6df2d6a557beed8a58871c6e43f2610f40ba0866 Mon Sep 17 00:00:00 2001 From: Adam Lowe Date: Mon, 3 Mar 2014 09:17:02 -0800 Subject: [PATCH 2/7] Added message_board_spec --- message_board_spec.rb | 18 ++++++++++++++++++ train_spec.rb | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 message_board_spec.rb diff --git a/message_board_spec.rb b/message_board_spec.rb new file mode 100644 index 0000000..8143d22 --- /dev/null +++ b/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 condocutor that it slowed down" do + message_board.should_receive(:confirm_slow_down) + engineer.slowing_down! + end +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 From 4b3169424409d7961e529e8c6d3ff5a70dbffc05 Mon Sep 17 00:00:00 2001 From: Adam Lowe Date: Mon, 3 Mar 2014 09:19:25 -0800 Subject: [PATCH 3/7] Spelling correction on message_board_spec --- message_board_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/message_board_spec.rb b/message_board_spec.rb index 8143d22..f0abe93 100644 --- a/message_board_spec.rb +++ b/message_board_spec.rb @@ -11,7 +11,7 @@ conductor.see_danger_coming! end - it "should confirm to the condocutor that it slowed down" do + it "should confirm to the conductor that it slowed down" do message_board.should_receive(:confirm_slow_down) engineer.slowing_down! end From b296f92accea99b09e58a9b9b11d90073230659e Mon Sep 17 00:00:00 2001 From: Adam Lowe Date: Tue, 4 Mar 2014 11:51:30 -0800 Subject: [PATCH 4/7] Moved message_board_spec to a spec directory --- message_board_spec.rb => spec/message_board_spec.rb | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename message_board_spec.rb => spec/message_board_spec.rb (100%) diff --git a/message_board_spec.rb b/spec/message_board_spec.rb similarity index 100% rename from message_board_spec.rb rename to spec/message_board_spec.rb From 308d7dc822cd5200a646288aedf3963c9a326d42 Mon Sep 17 00:00:00 2001 From: Adam Lowe Date: Sat, 24 May 2014 09:24:39 -0700 Subject: [PATCH 5/7] Added MessageBoard class; conductor passes slow_down to message_board; engineer passes confirm_slow_down to message_board --- spec/message_board_spec.rb | 8 ++++---- train.rb | 14 +++++++++----- train_spec.rb | 22 +++++++++++++++++----- 3 files changed, 30 insertions(+), 14 deletions(-) diff --git a/spec/message_board_spec.rb b/spec/message_board_spec.rb index f0abe93..a0488f9 100644 --- a/spec/message_board_spec.rb +++ b/spec/message_board_spec.rb @@ -6,10 +6,10 @@ 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 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) diff --git a/train.rb b/train.rb index 6b07e86..b290290 100644 --- a/train.rb +++ b/train.rb @@ -1,27 +1,31 @@ class Conductor - attr_reader :message_board + attr_reader :engineer, :message_board - def initialize(message_board) + def initialize(engineer, message_board) + @engineer = engineer @message_board = message_board end def see_danger_coming! - message_board.slow_down! + message_board.slow_down end end class Engineer + attr_reader :message_board + def initialize(message_board) @message_board = message_board end - def slowing_down! + def slow_down message_board.confirm_slow_down end end class MessageBoard - + def confirm_slow_down + end end diff --git a/train_spec.rb b/train_spec.rb index d393e69..d2fd61f 100644 --- a/train_spec.rb +++ b/train_spec.rb @@ -2,12 +2,24 @@ require './train' describe Conductor do - let(:engineer) { Engineer.new } - let(:conductor) { Conductor.new(engineer)} + let(:engineer) { mock } + let(:message_board) { mock } + let(:conductor) { Conductor.new(engineer, message_board)} - it "should tell the engineer to slow down" do - engineer.should_receive(:slow_down!) + it "should tell the message board to slow down" do + message_board.should_receive(:slow_down) conductor.see_danger_coming! end - +end + +describe Engineer do + + let(:message_board) { mock } + let(:engineer) { Engineer.new(message_board) } + + + it "should tell the message board to confirm slow down" do + message_board.should_receive(:confirm_slow_down) + engineer.slow_down + end end From c07780e4dc427fff71edf63c6874e6950c03b6c2 Mon Sep 17 00:00:00 2001 From: Adam Lowe Date: Sat, 24 May 2014 09:29:59 -0700 Subject: [PATCH 6/7] Removed message_board_spec --- spec/message_board_spec.rb | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 spec/message_board_spec.rb diff --git a/spec/message_board_spec.rb b/spec/message_board_spec.rb deleted file mode 100644 index a0488f9..0000000 --- a/spec/message_board_spec.rb +++ /dev/null @@ -1,18 +0,0 @@ -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 From c1d31b6a52844c369f21d8cc87bae9ad38fdb69d Mon Sep 17 00:00:00 2001 From: Adam Lowe Date: Sat, 24 May 2014 14:11:18 -0700 Subject: [PATCH 7/7] Changed use of mock to double --- train_spec.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/train_spec.rb b/train_spec.rb index d2fd61f..eea898b 100644 --- a/train_spec.rb +++ b/train_spec.rb @@ -2,8 +2,8 @@ require './train' describe Conductor do - let(:engineer) { mock } - let(:message_board) { mock } + let(:engineer) { double } + let(:message_board) { double } let(:conductor) { Conductor.new(engineer, message_board)} it "should tell the message board to slow down" do @@ -14,7 +14,7 @@ describe Engineer do - let(:message_board) { mock } + let(:message_board) { double } let(:engineer) { Engineer.new(message_board) }