Esempio n. 1
0
        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]);
            }
        }
Esempio n. 2
0
        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]);
            }
        }
Esempio n. 3
0
        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);
            }
        }