示例#1
0
    def test_should_not_care_about_case_sensitive(self):
        og_word = 'abc def hij'
        sw = SecretWord(word=og_word)

        assert sw.has_letter('a')
        assert sw.has_letter('b')
        assert sw.has_letter('c')
示例#2
0
    def test_should_return_true_if_has_letter(self):
        og_word = 'abc def hij'
        sw = SecretWord(word=og_word)

        assert sw.has_letter('A')
        assert sw.has_letter('B')
        assert sw.has_letter('D')
示例#3
0
    def test_should_return_false_if_doesnt_have_letter(self):
        og_word = 'abc def hij'
        sw = SecretWord(word=og_word)

        assert not sw.has_letter('K')
        assert not sw.has_letter('R')
        assert not sw.has_letter('M')
示例#4
0
    def test_should_return_the_value_set_for__hidden_word(self):
        og_word = 'just a test'
        sw = SecretWord(word='a')
        sw._hidden_word = 'just a test'
        word = sw.get_hidden_word()

        assert word == og_word
示例#5
0
    def test_should_return_the_word_as_a_list_with_valid_letters_replaced(
            self):
        og_word = 'Spider-Man 3: Venom'
        sw = SecretWord(word=og_word)
        hidden_word = sw.get_hidden_word()

        assert ' '.join(hidden_word) == '_ _ _ _ _ _ - _ _ _   _ :   _ _ _ _ _'
示例#6
0
    def test_should_use_the_passed_word_as_the_secret_word(self):
        sw = SecretWord(word='Sabão em pó')

        assert sw.get_word() == 'SABÃO EM PÓ'
        assert sw.get_hidden_word().count('_') == 9
        assert sw.get_letter_count('a') == 2
        assert sw.get_letter_count('o') == 2
        assert sw.get_letter_count('e') == 1
        assert len(sw._previously_guessed_letters) == 0
        assert not sw.was_guessed
示例#7
0
    def test_should_only_map_valid_letters(self):
        sw = SecretWord(word='Spider-Man 3: Venom')
        mapped_positions = sw._map_positions()

        assert len(mapped_positions['E']) == 2
        assert len(mapped_positions['S']) == 1
        assert len(mapped_positions['3']) == 1
        assert len(mapped_positions[' ']) == 0
        assert len(mapped_positions['-']) == 0
        assert len(mapped_positions[':']) == 0
示例#8
0
    def test_should_get_random_word_if_a_theme_is_passed(self):
        seed(3)
        sw = SecretWord('video_games')

        assert sw.get_word() == 'ASTRO BOT'
        assert sw.get_hidden_word().count('_') == 8
        assert sw.get_letter_count('a') == 1
        assert sw.get_letter_count('o') == 2
        assert sw.get_letter_count('e') == 0
        assert sw.get_letter_count('t') == 2
        assert len(sw._previously_guessed_letters) == 0
        assert not sw.was_guessed
示例#9
0
 def test_should_raise_error_if_no_theme_or_word_is_passed(self):
     with pytest.raises(RequiredField):
         SecretWord()
示例#10
0
    def test_should_return_a_upper_cased_and_stripped_word(self):
        og_word = ' la casa de papel '
        sw = SecretWord(word=og_word)
        word = sw.get_word()

        assert word == og_word.upper().strip()
示例#11
0
def secret_word():
    return SecretWord(word='Sabão em pó')