12
12
@dataclass
13
13
class Token :
14
14
"""
15
- Dataclass representing pair called token consisting of the dictionary index and a single character that follows the phrase in the dictionary.
15
+ Dataclass representing pair called token consisting of the dictionary index
16
+ and a single character that follows the phrase in the dictionary.
16
17
"""
17
18
18
19
index : int
@@ -80,14 +81,15 @@ def decompress(self, tokens: list[Token]) -> str:
80
81
81
82
Tests:
82
83
>>> lz78_compressor = LZ78Compressor()
83
- >>> lz78_compressor.decompress([Token(0, 'c'), Token(0, 'a'), Token(0, 'b'), Token(0, 'r'), Token(2, 'c'),
84
- ... Token(2, 'd'), Token(2, 'b'), Token(4, 'a'), Token(4, 'r'), Token(2, 'r'), Token(8, 'd')])
84
+ >>> lz78_compressor.decompress([Token(0, 'c'), Token(0, 'a'), Token(0, 'b'),
85
+ ... Token(0, 'r'), Token(2, 'c'), Token(2, 'd'), Token(2, 'b'), Token(4, 'a'),
86
+ ... Token(4, 'r'), Token(2, 'r'), Token(8, 'd')])
85
87
'cabracadabrarrarrad'
86
- >>> lz78_compressor.decompress([Token(0, 'a'), Token(0, 'b'), Token(1, 'b'), Token(0, 'c'),
87
- ... Token(2, 'a'), Token(5, 'b'), Token(1, 'a')])
88
+ >>> lz78_compressor.decompress([Token(0, 'a'), Token(0, 'b'), Token(1, 'b'),
89
+ ... Token(0, 'c'), Token( 2, 'a'), Token(5, 'b'), Token(1, 'a')])
88
90
'ababcbababaa'
89
- >>> lz78_compressor.decompress([Token(0, 'a'), Token(1, 'c'), Token(1, 'a'), Token(0, 'c'),
90
- ... Token(1, 'b'), Token(4, 'a'), Token(0, 'b'), Token(3, 'a')])
91
+ >>> lz78_compressor.decompress([Token(0, 'a'), Token(1, 'c'), Token(1, 'a'),
92
+ ... Token(0, 'c'), Token( 1, 'b'), Token(4, 'a'), Token(0, 'b'), Token(3, 'a')])
91
93
'aacaacabcabaaa'
92
94
"""
93
95
@@ -112,5 +114,5 @@ def decompress(self, tokens: list[Token]) -> str:
112
114
# Example
113
115
text = "aacaacabcabaaa"
114
116
tokens = lz78_compressor .compress (text )
115
- decompressedText = lz78_compressor .decompress (tokens )
116
- assert decompressedText == text , "Invalid result."
117
+ decompressedtext = lz78_compressor .decompress (tokens )
118
+ assert decompressedtext == text , "Invalid result."
0 commit comments