def test_tokens(self): histogram = Listogram(self.fish_words) # Verify total count of all word tokens assert len(self.fish_words) == 8 assert histogram.tokens == 8 # Adding words again should double total count of all word tokens for word in self.fish_words: histogram.add_count(word) assert histogram.tokens == 8 * 2
def test_types(self): histogram = Listogram(self.fish_words) # Verify count of distinct word types assert len(set(self.fish_words)) == 5 assert histogram.types == 5 # Adding words again should not change count of distinct word types for word in self.fish_words: histogram.add_count(word) assert histogram.types == 5
def test_add_count(self): histogram = Listogram(self.fish_words) # Add more words to update frequency counts histogram.add_count('two', 2) histogram.add_count('blue', 3) histogram.add_count('fish', 4) histogram.add_count('food', 5) # Verify updated frequency count of all words assert histogram.frequency('one') == 1 assert histogram.frequency('two') == 3 assert histogram.frequency('red') == 1 assert histogram.frequency('blue') == 4 assert histogram.frequency('fish') == 8 assert histogram.frequency('food') == 5 # Verify count of distinct word types assert histogram.types == 6 # Verify total count of all word tokens assert histogram.tokens == 8 + 14