public void ReduceThenSolveReducedProblems_with_non_basic_case_sort_problem_send_reduced_problems_to_the_solver() { var mockSortProblem = new MockSortProblem(); mockSortProblem.SetExpectedCall_IsBasicCase(false); ISortProblem reducedProblem1 = new MockSortProblem(); ISortProblem reducedProblem2 = new MockSortProblem(); IEnumerable <ISortProblem> reducedProblems = new[] { reducedProblem1, reducedProblem2 }; mockSortProblem.SetExpectedCall_GetReducedProblems(reducedProblems); var mockReducedSortProblemSolver = new MockSortProblemSolver(); mockReducedSortProblemSolver.SetExpectedCall_CalculateSortProblemReduction(reducedProblem1); mockReducedSortProblemSolver.SetExpectedCall_CalculateSortProblemReduction(reducedProblem2); var target = new RecursiveQuickSort(); target.ReduceThenSolveReducedProblems(mockSortProblem, mockReducedSortProblemSolver); mockSortProblem.VerifyExpectations(); mockReducedSortProblemSolver.VerifyExpectations(); }
public void Sort_should_sort_the_unsorted_array() { var target = new RecursiveQuickSort(); var array = new int[] { 10, 5000, 8, 4000, 7, 3500, 6, 3000, 5, 2500 }; target.Sort(array); var expectedResult = new int[] { 5, 6, 7, 8, 10, 2500, 3000, 3500, 4000, 5000 }; CollectionAssert.AreEqual(expectedResult, array, "Sorted array"); }
public void Sort_should_sort_the_reverse_sorted_array() { var target = new RecursiveQuickSort(); var array = new int[] { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 }; target.Sort(array); var expectedResult = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; CollectionAssert.AreEqual(expectedResult, array, "Sorted array"); }
public void Sort_should_sort_a_3_items_array_with_median_items_not_already_sorted() { var target = new RecursiveQuickSort(); var array = new int[] { 2, 3, 1 }; target.Sort(array); var expectedResult = new int[] { 1, 2, 3 }; CollectionAssert.AreEqual(expectedResult, array, "Sorted array"); }
public void Sort_should_sort_a_2_items_array() { var target = new RecursiveQuickSort(); var array = new int[] { 2, 1 }; target.Sort(array); var expectedResult = new int[] { 1, 2 }; CollectionAssert.AreEqual(expectedResult, array, "Sorted array"); }
public void Sort_should_keep_the_empty_array_unchanged() { var target = new RecursiveQuickSort(); var array = new int[] {}; target.Sort(array); var expectedResult = new int[] {}; CollectionAssert.AreEqual(expectedResult, array, "Sorted array"); }
public void Sort_should_keep_the_empty_array_unchanged() { var target = new RecursiveQuickSort(); var array = new int[] {}; target.Sort(array); var expectedResult = new int[] {}; CollectionAssert.AreEqual(expectedResult, array, "Sorted array"); }
public void Sort_should_sort_the_double_reverse_sorted_array() { var target = new RecursiveQuickSort(); var array = new int[] { 6, 5, 4, 3, 2, 1, 9, 8, 7 }; target.Sort(array); var expectedResult = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; CollectionAssert.AreEqual(expectedResult, array, "Sorted array"); }
public void Sort_should_sort_the_unsorted_array() { var target = new RecursiveQuickSort(); var array = new int[] { 10, 5000, 8, 4000, 7, 3500, 6, 3000, 5, 2500 }; target.Sort(array); var expectedResult = new int[] { 5, 6, 7, 8, 10, 2500, 3000, 3500, 4000, 5000 }; CollectionAssert.AreEqual(expectedResult, array, "Sorted array"); }
public void Sort_should_sort_a_3_items_array_with_median_items_not_already_sorted() { var target = new RecursiveQuickSort(); var array = new int[] { 2, 3, 1 }; target.Sort(array); var expectedResult = new int[] { 1, 2, 3 }; CollectionAssert.AreEqual(expectedResult, array, "Sorted array"); }
public void Sort_should_sort_a_2_items_array() { var target = new RecursiveQuickSort(); var array = new int[] { 2, 1 }; target.Sort(array); var expectedResult = new int[] { 1, 2 }; CollectionAssert.AreEqual(expectedResult, array, "Sorted array"); }
public void ReduceThenSolveReducedProblems_just_finish_with_basic_case_sort_problem() { var mockSortProblem = new MockSortProblem(); mockSortProblem.SetExpectedCall_IsBasicCase(true); ISortProblemSolver reducedSortProblemSolver = null; var target = new RecursiveQuickSort(); target.ReduceThenSolveReducedProblems(mockSortProblem, reducedSortProblemSolver); mockSortProblem.VerifyExpectations(); }
public void ReduceThenSolveReducedProblems_just_finish_with_basic_case_sort_problem() { var mockSortProblem = new MockSortProblem(); mockSortProblem.SetExpectedCall_IsBasicCase(true); ISortProblemSolver reducedSortProblemSolver = null; var target = new RecursiveQuickSort(); target.ReduceThenSolveReducedProblems(mockSortProblem, reducedSortProblemSolver); mockSortProblem.VerifyExpectations(); }
public void ReduceThenSolveReducedProblems_with_non_basic_case_sort_problem_send_reduced_problems_to_the_solver() { var mockSortProblem = new MockSortProblem(); mockSortProblem.SetExpectedCall_IsBasicCase(false); ISortProblem reducedProblem1 = new MockSortProblem(); ISortProblem reducedProblem2 = new MockSortProblem(); IEnumerable<ISortProblem> reducedProblems = new[] {reducedProblem1, reducedProblem2}; mockSortProblem.SetExpectedCall_GetReducedProblems(reducedProblems); var mockReducedSortProblemSolver = new MockSortProblemSolver(); mockReducedSortProblemSolver.SetExpectedCall_CalculateSortProblemReduction(reducedProblem1); mockReducedSortProblemSolver.SetExpectedCall_CalculateSortProblemReduction(reducedProblem2); var target = new RecursiveQuickSort(); target.ReduceThenSolveReducedProblems(mockSortProblem, mockReducedSortProblemSolver); mockSortProblem.VerifyExpectations(); mockReducedSortProblemSolver.VerifyExpectations(); }