public void FinalizeSortingTest()
        {
            var numbers = new int[5] {
                5, 4, 3, 2, 1
            };
            var expectedNumbers = new int[5] {
                1, 2, 3, 4, 5
            };
            var countingSorting = new CountingSorting(numbers);

            var biggestNumber = countingSorting.FindBiggestNumber();
            var occurences    = new int[biggestNumber + 1];

            countingSorting.FindOccurenceOfEachNumber(occurences);
            countingSorting.FindCumulativeCountOfEachOccurence(occurences, biggestNumber);
            var output = countingSorting.BuildOutput(occurences);

            // Act
            countingSorting.FinalizeSorting(output);

            // Assert
            Assert.Equal(new int[5] {
                1, 2, 3, 4, 5
            }, numbers);
        }
        public void BuildOutputTest()
        {
            var numbers = new int[5] {
                1, 1, 2, 2, 3
            };
            var biggestNumber   = new CountingSorting(numbers).FindBiggestNumber();
            var occurences      = new int[biggestNumber + 1];
            var countingSorting = new CountingSorting(numbers);

            countingSorting.FindOccurenceOfEachNumber(occurences);

            // Act
            var actual = countingSorting.BuildOutput(occurences);

            // Assert
            Assert.Equal(new int[6] {
                1, 1, 0, 0, 0, 0
            }, actual);
        }