def test_get_available_letters(self): self.assertEqual(string.ascii_lowercase, get_available_letters([])) self.assertEqual('defghijklmnopqrstuvwxyz', get_available_letters(['a', 'b', 'c'])) self.assertEqual('abcdefghijklmnopqrstuvw', get_available_letters(['x', 'y', 'z'])) self.assertEqual('bcdefghijklmnpqrsuvwxyz', get_available_letters(['o', 't', 'a']))
def test_get_available_letters(self): self.assertEqual(student.get_available_letters(['a', 'b', 'c', 'd']), 'efghijklmnopqrstuvwxyz') self.assertEqual( student.get_available_letters(['z', 'p', 'x', 'b', 'b']), 'acdefghijklmnoqrstuvwy') self.assertEqual( student.get_available_letters(['a', 'u', 'i', 'o', 'w']), 'bcdefghjklmnpqrstvxyz')
def test_get_available_letters(self): #Test get_available_letters #Note: get available_letters takes a list as an input and # returns a string. Need to join the letters guessed constants # to make them a string to compare to the return value. # #Note2 get_available_letters returns the string in alphabetical order # so we need to sort the letters guessed constants before we # join them. self.assertEqual(get_available_letters(APLE), "".join(NO_APLE)) self.assertEqual(get_available_letters(AELP), "".join(NO_APLE)) self.assertEqual(get_available_letters(NO_LETTERS), "".join(ALL_LETTERS)) self.assertEqual(get_available_letters(ALL_LETTERS), " ") self.assertEqual(get_available_letters('a'), "".join(NO_A))
def test_get_available_letters(self): tests = [ Test(ascii_lowercase[:i], ascii_lowercase[i:]) for i in range(0, len(ascii_lowercase)) ] tests.append(Test(ascii_lowercase, "")) for test in tests: self.assertEqual(hangman.get_available_letters(test.input), test.output)
def test_get_available_letters_empty_string(self): self.assertEqual( student.get_available_letters(list(string.ascii_lowercase)), '', "Failed to return the empty string")
import hangman as hg import string if __name__ == '__main__': # is_word_guessed testing assert hg.is_word_guessed('apple', ['a', 'p', 'p', 'l', 'e']) assert hg.is_word_guessed('', ['a', 'p', 'p', 'l', 'e']) assert hg.is_word_guessed('', []) assert not hg.is_word_guessed('apple', []) assert not hg.is_word_guessed('apple', ['a', 'p', 'l', 'e', 'f', 'z', 'c']) # get_guessed_word assert hg.get_guessed_word('apple', ['a', 'p', 'p', 'l', 'e']) \ == 'apple' assert hg.get_guessed_word('', ['a', 'p', 'p', 'l', 'e']) \ == '' assert hg.get_guessed_word('', []) \ == '' assert hg.get_guessed_word('apple', []) \ == '_____' assert hg.get_guessed_word('apple', ['a', 'p', 'l', 'e', 'f', 'z', 'c']) \ == 'ap_le' # get_avaiable_letters assert hg.get_available_letters([]) == string.ascii_lowercase assert hg.get_available_letters(list(string.ascii_lowercase)) \ == '' assert hg.get_available_letters(['e', 'i', 'k', 'p', 'r', 's']) \ == 'abcdfghjlmnoqtuvwxyz'
def test_no_letters_available_if_entire_alphabet_guessed(self): letters_guessed = ['p', 'l', 'b', 'd', 'y', 't', 'a', 'k', 'f', 'm', 'u', 'q', 'h', 'o', 'j', 'v', 'x', 'z', 'e', 'i', 's', 'g', 'w', 'n', 'c', 'r'] result = get_available_letters(letters_guessed) self.assertEqual('', result)
def test_generates_available_letters_if_multiple_letters_guessed(self): result = get_available_letters(['d', 'o', 'v', 'y', 'g', 'm', 'c']) self.assertEqual('abefhijklnpqrstuwxz', result)
def test_generates_available_letters_if_single_letter_guessed(self): result = get_available_letters(['d']) self.assertEqual('abcefghijklmnopqrstuvwxyz', result)
def assert_solution(self, letter_guessed): self.assertEquals( hangman_solution.get_available_letters(letter_guessed), hangman.get_available_letters(letter_guessed))
def test_returns_letters_not_guessed(): assert hangman.get_available_letters( letters_guessed=['c', 'l']) == 'abdefghijkmnopqrstuvwxyz'
def test_no_letters_guessed_returns_all_letters(): assert hangman.get_available_letters(letters_guessed=[]) == ALL_LETTERS
def test_capitial_letters_guessed_returns_letters_not_guessed(): assert hangman.get_available_letters( letters_guessed=['A', 'Z']) == 'bcdefghijklmnopqrstuvwxy'
def test_all_letters_guessed_returns_empty_string(): guessed = list(ALL_LETTERS) assert hangman.get_available_letters(letters_guessed=guessed) == ''
def test_get_available_letters_empty_list(self): self.assertEqual(student.get_available_letters([]), 'abcdefghijklmnopqrstuvwxyz', "Failed with the empty list")
def assert_solution(self, letter_guessed): self.assertEquals(hangman_solution.get_available_letters(letter_guessed), hangman.get_available_letters(letter_guessed))
def test_all_letters_available_if_no_letters_guessed(self): result = get_available_letters([]) self.assertEqual('abcdefghijklmnopqrstuvwxyz', result)