blob: 4788aa99f043511b80055c0cdfcb23c9dd38ab89 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# game_spec.rb
require File.join(File.dirname(__FILE__), "/../spec_helper")
module Mastermind
describe Game do
before(:each) do
@messenger = mock("messenger").as_null_object
@game = Game.new(@messenger)
end
context "starting up" do
it "should send a welcome message" do
@messenger.should_receive(:puts).with("Welcome to Mastermind!")
@game.start(%w[r g y c])
end
it "should prompt for the first guess" do
@messenger.should_receive(:puts).with("Enter guess:")
@game.start(%w[r g y c])
end
end
context "marking a guess" do
context "with all 4 colors correct in the correct places" do
it "should mark the guess with bbbb" do
@game.start(%w[r g y c])
@messenger.should_receive(:puts).with("bbbb")
@game.guess(%w[r g y c])
end
end
context "with all 4 colors correct and 2 in the correct places" do
it "should mark the guess with bbww" do
@game.start(%w[r g y c])
@messenger.should_receive(:puts).with("bbww")
@game.guess(%w[r g c y])
end
end
context "with all 4 colors correct and 1 in the correct place" do
it "should mark the guess with bwww" do
@game.start(%w[r g y c])
@messenger.should_receive(:puts).with("bwww")
@game.guess(%w[y r g c])
end
end
end
end
end
|