public void Sort(string sorterName, int n) { List <int> list = new List <int>(); List <int> listCopy; Sorter sorter; System.Random random = new System.Random(); // Arrange if (sorterName == "InsertionSort") { sorter = DSBuilder.CreateInsertionSorter(); } else if (sorterName == "MergeSort") { sorter = DSBuilder.CreateMergeSorter(); } else if (sorterName == "ShellSort") { sorter = DSBuilder.CreateShellSorter(); } else { sorter = null; } Assert.IsNotNull(sorter != null); // Arrange for (int i = 0; i < n; i++) { list.Add(random.Next(0, 100000)); } listCopy = new List <int>(list); listCopy.Sort(); // Act sorter.Sort(list); // Assert bool equal = list.SequenceEqual(listCopy); Assert.IsTrue(equal); }