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);
        }
Ejemplo n.º 2
0
        public BitRateStatistics EvaluateBitRateStatistics(int symbolsCount, uint inputFileSize, uint outputFileSize, uint headerSize)
        {
            double inputFileBitRate            = Math.Round((double)(inputFileSize * 8) / (double)symbolsCount, DECIMAL_DIGITS);
            double outputFileBitRate           = Math.Round((double)(outputFileSize * 8) / (double)symbolsCount, DECIMAL_DIGITS);
            double outputFileBitRateWithHeader = Math.Round((double)((outputFileSize + headerSize) * 8) / (double)symbolsCount, DECIMAL_DIGITS);

            double bitRateProportion           = Math.Round(outputFileBitRate / inputFileBitRate, DECIMAL_DIGITS);
            double bitRateProportionWithHeader = Math.Round(outputFileBitRateWithHeader / inputFileBitRate, DECIMAL_DIGITS);

            BitRateStatistics statistics = new BitRateStatistics();

            statistics.InputFileBitRate            = inputFileBitRate;
            statistics.OutputFileBitRate           = outputFileBitRate;
            statistics.OutputFileBitRateWithHeader = outputFileBitRateWithHeader;
            statistics.BitRateProportion           = bitRateProportion;
            statistics.BitRateProportionWithHeader = bitRateProportionWithHeader;

            return(statistics);
        }