spec/hangman_spec.rb in cinch_hangman-0.0.1 vs spec/hangman_spec.rb in cinch_hangman-0.0.2
- old
+ new
@@ -12,19 +12,29 @@
describe 'game' do
it 'should have a start' do
subject.describe.should include 'new hangman'
end
describe 'guesses' do
- it 'reduce after an incorrect guess' do
- subject.guess("x")
- subject.describe.should include '5 guesses'
- subject.guess("lol")
- subject.describe.should include '4 guesses'
+ describe 'correct' do
+ it 'when containing a single character in the answer' do
+ subject.guess("h")
+ subject.describe.should include '6 guesses'
+ end
end
- it 'do not reduce after a correct guess' do
- subject.guess("h")
- subject.describe.should include '6 guesses'
+ describe 'incorrect' do
+ it 'when containing a single character not in the answer' do
+ subject.guess("x")
+ subject.describe.should include '5 guesses'
+ end
+ it 'when containing a word not in the answer' do
+ subject.guess("lol")
+ subject.describe.should include '5 guesses'
+ end
+ it 'when containing the correct answer in reverse' do
+ subject.guess("ho")
+ subject.describe.should include '5 guesses'
+ end
end
end
describe 'hints' do
it 'show the number of letters in the answer' do
subject.guess("x")
@@ -46,9 +56,14 @@
subject.describe.should include 'awesome!'
end
it 'occurs when the answer is given with a mixture of approaches' do
subject.guess("o")
subject.guess("oh")
+ subject.describe.should include 'awesome!'
+ end
+ it 'occurs no matter what order guesses are given' do
+ subject.guess("h")
+ subject.guess("o")
subject.describe.should include 'awesome!'
end
it 'should not be automatic for hassox' do
subject = Cinch::Plugins::Game.new("hassox")
subject.guess("s")