public void BitRate_EvaluateStatistics() { var helper = new HuffmanStatisticsHelper(); uint inputFileSize = 10; uint outputFileSize = 5; uint headerSize = 5; BitRateStatistics expectedStatistics = new BitRateStatistics(); expectedStatistics.InputFileBitRate = 8; expectedStatistics.OutputFileBitRate = 4; expectedStatistics.OutputFileBitRateWithHeader = 8; expectedStatistics.BitRateProportion = 0.5; expectedStatistics.BitRateProportionWithHeader = 1; BitRateStatistics statistics = helper.EvaluateBitRateStatistics(symbolsCount, inputFileSize, outputFileSize, headerSize); Assert.AreEqual(expectedStatistics.InputFileBitRate, statistics.InputFileBitRate); Assert.AreEqual(expectedStatistics.OutputFileBitRate, statistics.OutputFileBitRate); Assert.AreEqual(expectedStatistics.OutputFileBitRateWithHeader, statistics.OutputFileBitRateWithHeader); Assert.AreEqual(expectedStatistics.BitRateProportion, statistics.BitRateProportion); Assert.AreEqual(expectedStatistics.BitRateProportionWithHeader, statistics.BitRateProportionWithHeader); }
public void Entropy_Evaluate() { var helper = new HuffmanStatisticsHelper(); var output = helper.EvaluateEntropy(symbolStatisticsList); Assert.AreEqual(1.485, output); }
public void CreateSymbolsStatisticsListFormDictionary() { var helper = new HuffmanStatisticsHelper(); List <SymbolStatistics> result = helper.CreateSymbolStatisticsList(symbolsMap, symbolsCount); Assert.AreEqual(symbolStatisticsList.Count, result.Count); for (int i = 0; i < symbolStatisticsList.Count; i++) { Assert.AreEqual(symbolStatisticsList[i].Probability, result[i].Probability); Assert.AreEqual(symbolStatisticsList[i].InputFileBitsLength, result[i].InputFileBitsLength); Assert.AreEqual(symbolStatisticsList[i].OutputFileBitsLength, result[i].OutputFileBitsLength); } }
public void BitsMean_EvaluateStatistics() { var helper = new HuffmanStatisticsHelper(); BitsMeanStatistics expectedStatistics = new BitsMeanStatistics(); expectedStatistics.InputFileBitsMean = 2; expectedStatistics.OutputFileBitsMean = 1; expectedStatistics.BitsMeanProportion = 0.5; BitsMeanStatistics statistics = helper.EvaluateBitsMeanStatistics(symbolStatisticsList); Assert.AreEqual(expectedStatistics.InputFileBitsMean, statistics.InputFileBitsMean); Assert.AreEqual(expectedStatistics.OutputFileBitsMean, statistics.OutputFileBitsMean); Assert.AreEqual(expectedStatistics.BitsMeanProportion, statistics.BitsMeanProportion); }
public void FilesSize_EvaluateStatistics() { var helper = new HuffmanStatisticsHelper(); uint inputFileSize = 100; uint outputFileSize = 50; FilesSizeStatistics expectedStatistics = new FilesSizeStatistics(); expectedStatistics.InputFileSize = 100; expectedStatistics.OutputFileSize = 50; expectedStatistics.FilesSizeProportion = 0.5; FilesSizeStatistics statistics = helper.EvaluateFilesSizeStatistics(inputFileSize, outputFileSize); Assert.AreEqual(expectedStatistics.InputFileSize, statistics.InputFileSize); Assert.AreEqual(expectedStatistics.OutputFileSize, statistics.OutputFileSize); Assert.AreEqual(expectedStatistics.FilesSizeProportion, statistics.FilesSizeProportion); }
public void FileSize_EvaluateStatistics() { var helper = new HuffmanStatisticsHelper(); uint inputFileSize = 100; uint outputFileSize = 50; uint headerSize = 10; FileSizeStatistics expectedStatistics = new FileSizeStatistics(); expectedStatistics.InputFileSize = 100; expectedStatistics.OutputFileSize = 50; expectedStatistics.OutputFileSizeWithHeader = 60; expectedStatistics.CompressionRatio = 0.5; expectedStatistics.CompressionRatioWithHeader = 0.6; FileSizeStatistics statistics = helper.EvaluateFileSizeStatistics(inputFileSize, outputFileSize, headerSize); Assert.AreEqual(expectedStatistics.InputFileSize, statistics.InputFileSize); Assert.AreEqual(expectedStatistics.OutputFileSize, statistics.OutputFileSize); Assert.AreEqual(expectedStatistics.OutputFileSizeWithHeader, statistics.OutputFileSizeWithHeader); Assert.AreEqual(expectedStatistics.CompressionRatio, statistics.CompressionRatio); Assert.AreEqual(expectedStatistics.CompressionRatioWithHeader, statistics.CompressionRatioWithHeader); }