From c8e8694e51d440ebe1ca230b92253f1f1fb0483e Mon Sep 17 00:00:00 2001 From: ThePomodoro Date: Sat, 18 Jan 2014 16:10:50 -0800 Subject: [PATCH] Messageboard added --- .idea/encodings.xml | 5 +++ .idea/misc.xml | 5 +++ .idea/modules.xml | 9 ++++++ .idea/scopes/scope_settings.xml | 5 +++ .idea/train-message_expectations.iml | 48 ++++++++++++++++++++++++++++ .idea/vcs.xml | 7 ++++ train.rb | 22 +++++++++++-- train_spec.rb | 16 +++++++--- 8 files changed, 109 insertions(+), 8 deletions(-) create mode 100644 .idea/encodings.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/scopes/scope_settings.xml create mode 100644 .idea/train-message_expectations.iml create mode 100644 .idea/vcs.xml diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..e206d70 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..78d2e82 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..3497d3d --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/.idea/scopes/scope_settings.xml b/.idea/scopes/scope_settings.xml new file mode 100644 index 0000000..922003b --- /dev/null +++ b/.idea/scopes/scope_settings.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/.idea/train-message_expectations.iml b/.idea/train-message_expectations.iml new file mode 100644 index 0000000..84f1277 --- /dev/null +++ b/.idea/train-message_expectations.iml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..c80f219 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/train.rb b/train.rb index bc6dbcb..08f6c64 100644 --- a/train.rb +++ b/train.rb @@ -1,15 +1,31 @@ class Conductor - attr_reader :engineer + attr_reader :engineer, :messageboard - def initialize(engineer) + def initialize(engineer, messageboard) @engineer = engineer + @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 confirm_slow_down + messageboard.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..7bb1db1 100644 --- a/train_spec.rb +++ b/train_spec.rb @@ -2,12 +2,18 @@ require './train' describe Conductor do - let(:engineer) { Engineer.new } - let(:conductor) { Conductor.new(engineer)} + let(:engineer) { Engineer.new(messageboard) } + let(:conductor) { Conductor.new(engineer, messageboard)} + let(:messageboard) {double} - it "should tell the engineer to slow down" do - engineer.should_receive(:slow_down!) + it "should tell the message board to slow down" do + messageboard.should_receive(:slow_down!) conductor.see_danger_coming! - end + end + + it "should confirm slow down to messageboard" do + messageboard.should_receive(:confirm_slow_down) + engineer.confirm_slow_down + end end \ No newline at end of file