コード例 #1
0
        public void TestCyclicDataHundredTimes()
        {
            TownDataService dataService = new TownDataService(townNameLength);

            for (int i = 0; i < 100; i++)
            {
                var data = dataService.GetCyclicData(cardCollectionLength);

                //// shuffle data before sorting
                Random rand     = new Random();
                var    unsorted = data.OrderBy(o => rand.Next()).ToList();

                var sorted = TopologicalSortForOneDependency.Sort(unsorted, o => o.To, o => o.From, true);

                //// because of the cyclic reference for proper comparison
                //// we need to position initial data start element to the
                //// begining of the sorted cllection
                var startElementIndex = sorted.IndexOf(data.First());
                var normalizedSorted  = sorted
                                        .Skip(startElementIndex)
                                        .ToList();
                normalizedSorted.AddRange(sorted.Take(startElementIndex));

                CollectionAssert.AreEqual(data.ToArray(), normalizedSorted.ToArray());
            }
        }
コード例 #2
0
        public void TestCyclicDataNoException()
        {
            TownDataService dataService = new TownDataService(townNameLength);

            var data = dataService.GetCyclicData(cardCollectionLength);

            //// shuffle data before sorting
            Random rand     = new Random();
            var    unsorted = data.OrderBy(o => rand.Next()).ToList();

            var sorted = TopologicalSortForOneDependency.Sort(unsorted, o => o.To, o => o.From, true);
        }
コード例 #3
0
        public void TestNoCyclicDataHundredTimes()
        {
            TownDataService dataService = new TownDataService(townNameLength);

            for (int i = 0; i < 100; i++)
            {
                var data = dataService.GetNoCyclicData(cardCollectionLength);

                //// shuffle data before sorting
                Random rand     = new Random();
                var    unsorted = data.OrderBy(o => rand.Next());

                var sorted = TopologicalSortForOneDependency.Sort(unsorted, o => o.To, o => o.From);

                CollectionAssert.AreEqual(data.ToArray(), sorted.ToArray());
            }
        }