Guest User

Untitled

a guest
Sep 19th, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. require_relative 'hangman_class_2'
  2. require 'test/unit'
  3.  
  4. class TestHangman < Test::Unit::TestCase
  5.  
  6. def setup
  7. Hangman.class_eval do
  8. attr_accessor :words, :finish, :limit, :win, :answer
  9.  
  10. def random_word
  11. return "powerpuf"
  12. end
  13. end
  14. @hangman = Hangman.new
  15. end
  16.  
  17. def test_startup_value
  18. assert(@hangman.words.length > 0, "should have more than one in dictionary")
  19. assert_equal(@hangman.finish, false)
  20. assert_equal(@hangman.limit, 8)
  21. assert_equal(@hangman.win, false)
  22. end
  23.  
  24. def test_exit
  25. @hangman.guess("exit")
  26. assert(@hangman.finish, "should exit when user type exit")
  27. end
  28.  
  29. def test_find_one_missing_char
  30. @hangman.start do
  31. @hangman.guess("x\n")
  32. assert_equal("________", @hangman.answer)
  33. assert("________", @hangman.answer)
  34. assert(!@hangman.finish, "should not exit before get right answer")
  35. assert(!@hangman.win, "should not win before get right answer")
  36. break
  37. end
  38. end
  39.  
  40. def test_find_one_right_char
  41. @hangman.start do
  42. @hangman.guess("o\n")
  43. assert_equal("_o______", @hangman.answer)
  44. assert(!@hangman.finish, "should not exit before get right answer")
  45. assert(!@hangman.win, "should not win before get right answer")
  46. break
  47. end
  48. end
  49.  
  50. def test_find_double_right_char
  51. @hangman.start do
  52. @hangman.guess("p\n")
  53. assert_equal("p____p__", @hangman.answer)
  54. assert(!@hangman.finish, "should not exit before get right answer")
  55. assert(!@hangman.win, "should not win before get right answer")
  56. break
  57. end
  58. end
  59.  
  60. def test_quick_answer
  61. @hangman.start do
  62. @hangman.guess("powerpuf\n")
  63. assert(@hangman.finish, "should exit when user type collect answer")
  64. end
  65. end
  66. end
Add Comment
Please, Sign In to add comment