package com.jadekler.sarah; import org.junit.*; import java.util.*; import static java.util.Arrays.asList; import static org.hamcrest.CoreMatchers.equalTo; import static org.hamcrest.MatcherAssert.assertThat; public class SortTest { private int[] unsortedArr = new int[1000]; private int[] sortedArr = new int[1000]; private List<Sort> sorters = asList(new MergeSort(), new HeapSort(), new QuickSort()); public SortTest() { List<Integer> unsortedList = new ArrayList<>(); Random generator = new Random(); for (int i = 0; i < sortedArr.length; i++) { sortedArr[i] = i; unsortedList.add(i); } for (int i = 0; i < sortedArr.length; i++) { int nextRandomIndex = generator.nextInt(unsortedList.size()); unsortedArr[i] = unsortedList.get(nextRandomIndex); unsortedList.remove(nextRandomIndex); } } @Test public void testSort() { for (int i = 0; i < sorters.size(); i++) { System.out.println("Testing " + sorters.get(i).toString()); Sort sorter = sorters.get(i); assertThat(sorter.sort(unsortedArr), equalTo(sortedArr)); } } }