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