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); }