def test_letter_counter_io(self):

        assert LetterCounter().read_in_file(filepath=TEXT_FRANKEN_ABRIDGED)
        assert isinstance(
            LetterCounter().read_in_file(filepath=TEXT_FRANKEN_ABRIDGED), list)

        assert LetterCounter().read_in_string(string=STR_LINE_MULTI)
        assert isinstance(
            LetterCounter().read_in_string(string=STR_LINE_MULTI), list)
    def test_char_counter_io(self):

        for test_string in (strings_list(), STR_LINE_MULTI):
            with pytest.raises(AssertionError):
                LetterCounter()._char_counter(
                    genexp_text_sanitized=test_string, length=5)

        assert isinstance(
            LetterCounter()._char_counter(
                genexp_text_sanitized=generator_words_good(), length=5), list)
    def test_diff_n_letters(self):
        n_letters_tup = 1, 26

        for n_letters in n_letters_tup:
            letter_count = LetterCounter().read_in_file(filepath=TEXT_FRANKEN,
                                                        length=n_letters)
            assert len(letter_count) == n_letters
    def test_counts_letters_only(self):

        assert len(LetterCounter().read_in_file(filepath=TEXT_FRANKEN,
                                                length=27)) == 26
    def test_all_letters(self):

        assert LetterCounter().read_in_file(filepath=TEXT_FRANKEN_ABRIDGED,
                                            length=None)
    def test_read_in_file_any_gutenbook(self):

        for test_text in (TEXT_FRANKEN, TEXT_MOON):
            assert LetterCounter().read_in_file(test_text, length=5)