private static void TestDirectOrder(int count) { var arr = new RouteCard[count]; for (int i = 0; i < count; i++) { arr[i] = new RouteCard { From = i.ToString(), To = (i + 1).ToString() }; } var result = SortingMethods.Sort(arr); for (int i = 0; i < count; i++) { Assert.AreEqual(arr[i], result[i]); } }
private static void TestInvertedOrder(int count) { var arr = new RouteCard[count]; for (int i = count; i > 0; i--) { arr[i - 1] = new RouteCard { From = i.ToString(), To = (i - 1).ToString() }; } var result = SortingMethods.Sort(arr); for (int i = count; i > 0; i--) { Assert.AreEqual(arr[count - i], result[i - 1]); } }
private static void TestRandomOrder(int count) { var arr = new RouteCard[count]; for (int i = 0; i < count; i++) { arr[i] = new RouteCard { From = i.ToString(), To = (i + 1).ToString() }; } //Для того, чтобы не нарушать условие воспроизводимости теста, зафиксируем зерно рандома var rand = new Random(42); arr = arr.OrderBy(x => rand.Next()).ToArray(); var result = SortingMethods.Sort(arr); //Требуемый порядок нам не известен, поэтому проверим соответствует ли массив условиям сортировки for (int i = 0; i < count - 1; i++) { Assert.AreEqual(result[i].To, result[i + 1].From); } }