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