Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }