public FileSizeStatistics EvaluateFileSizeStatistics(uint inputFileSize, uint outputFileSize, uint headerSize) { FileSizeStatistics statistics = new FileSizeStatistics(); statistics.InputFileSize = inputFileSize; statistics.OutputFileSize = outputFileSize; statistics.OutputFileSizeWithHeader = outputFileSize + headerSize; double compressionRatio = (double)outputFileSize / (double)inputFileSize; double compressionRatioWithHeader = (double)statistics.OutputFileSizeWithHeader / (double)inputFileSize; statistics.CompressionRatio = Math.Round(compressionRatio, DECIMAL_DIGITS); statistics.CompressionRatioWithHeader = Math.Round(compressionRatioWithHeader, DECIMAL_DIGITS); return(statistics); }
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); }