public void EncodeDecode_ShouldGiveBacktheSameString(string txt) { var compressor = new HauffmanCompressor(); var encoded = compressor.FitEncode(new[] { txt }); Assert.Equal(txt, compressor.Decode(encoded).First()); }
public void MoreFrequentCharacter_ShouldHavePathWithLengthOne(string[] texts, char moreFreqChar) { var compressor = new HauffmanCompressor(); compressor.Fit(texts); Assert.Single(compressor.GetCharPath(moreFreqChar)); }
static void Main(string[] args) { Console.WriteLine("started"); var output = new FileStream(Path.Combine(FolderPath, "lorem-ipsum-compressed.txt"), FileMode.Create); using BinaryWriter writer = new BinaryWriter(output); var compressor = new HauffmanCompressor(); var compressed = compressor.FitEncode(ReadInputFile()); foreach (var line in compressed) { writer.Write(line); } }