Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require_relative 'hangman_class_2'
- require 'test/unit'
- class TestHangman < Test::Unit::TestCase
- def setup
- Hangman.class_eval do
- attr_accessor :words, :finish, :limit, :win, :answer
- def random_word
- return "powerpuf"
- end
- end
- @hangman = Hangman.new
- end
- def test_startup_value
- assert(@hangman.words.length > 0, "should have more than one in dictionary")
- assert_equal(@hangman.finish, false)
- assert_equal(@hangman.limit, 8)
- assert_equal(@hangman.win, false)
- end
- def test_exit
- @hangman.guess("exit")
- assert(@hangman.finish, "should exit when user type exit")
- end
- def test_find_one_missing_char
- @hangman.start do
- @hangman.guess("x\n")
- assert_equal("________", @hangman.answer)
- assert("________", @hangman.answer)
- assert(!@hangman.finish, "should not exit before get right answer")
- assert(!@hangman.win, "should not win before get right answer")
- break
- end
- end
- def test_find_one_right_char
- @hangman.start do
- @hangman.guess("o\n")
- assert_equal("_o______", @hangman.answer)
- assert(!@hangman.finish, "should not exit before get right answer")
- assert(!@hangman.win, "should not win before get right answer")
- break
- end
- end
- def test_find_double_right_char
- @hangman.start do
- @hangman.guess("p\n")
- assert_equal("p____p__", @hangman.answer)
- assert(!@hangman.finish, "should not exit before get right answer")
- assert(!@hangman.win, "should not win before get right answer")
- break
- end
- end
- def test_quick_answer
- @hangman.start do
- @hangman.guess("powerpuf\n")
- assert(@hangman.finish, "should exit when user type collect answer")
- end
- end
- end
Add Comment
Please, Sign In to add comment