public void DecompressedTextTheSameAsOriginal([Random(0, 1000, 1000)] int length) { //Arrange var solver = new NaiveKnapsackSolver <(char, double)>(); var translator = new Translator(); var shannonFanoCompressor = new ShannonFanoCompressor(solver, translator); var text = Randomizer.CreateRandomizer().GetString(length); //Act var(compressedText, decompressionKeys) = shannonFanoCompressor.Compress(text); var decompressedText = translator.Translate(compressedText, decompressionKeys); //Assert Assert.AreEqual(text, decompressedText); }
public void CompressingPhrase(string uncompressedText, string expectedCompressedText) { //Arrange var solver = new NaiveKnapsackSolver <(char, double)>(); var translator = new Translator(); var shannonFanoCompressor = new ShannonFanoCompressor(solver, translator); //Act var(compressedText, decompressionKeys) = shannonFanoCompressor.Compress(uncompressedText); var decompressedText = translator.Translate(compressedText, decompressionKeys); //Assert Assert.AreEqual(expectedCompressedText, compressedText); Assert.AreEqual(uncompressedText, decompressedText); }