Skip to content

Commit 676da50

Browse files
authored
Update lz78.py
adding error handling and more tests
1 parent 34fe6bf commit 676da50

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

compression/lz78.py

+9-4
Original file line numberDiff line numberDiff line change
@@ -53,14 +53,19 @@ def compress(self, text: str) -> list[Token]:
5353
'[(0, a), (1, c), (1, a), (0, c), (1, b), (4, a), (0, b), (3, a)]'
5454
>>> str(lz78_compressor.compress(""))
5555
'[]'
56-
>>> str(lz78_compressor.compress([]))
57-
'[]'
58-
>>> str(lz78_compressor.compress({}))
59-
'[]'
56+
>>> lz78_compressor.compress([])
57+
Traceback (most recent call last):
58+
TypeError: Expected string.
59+
>>> lz78_compressor.compress({})
60+
Traceback (most recent call last):
61+
TypeError: Expected string.
6062
>>> len("ababc") >= len(lz78_compressor.compress("ababc"))
6163
True
6264
"""
6365

66+
if not isinstance(text, str):
67+
raise TypeError("Expected string.")
68+
6469
phrase_dict = {}
6570
tokens = []
6671
code = 1

0 commit comments

Comments
 (0)