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")