コード例 #1
0
        public void SortMergedListTest()
        {
            var firstList = BuildList(0, 100);

            firstList.Reverse(20, 30);
            firstList.Reverse(40, 30);
            var comparer = new GraphNodeComparer <string>();

            firstList.Sort(comparer);
            for (var i = 0; i <= 100; i++)
            {
                Assert.Equal(i, int.Parse(firstList[i].Value));
            }
        }
コード例 #2
0
        public void CompareTest()
        {
            var set    = new GraphSet <int>();
            var second = set.Add(2);
            var first  = set.Add(1);

            second.AddParent(first);
            var third = set.Add(3);

            third.AddParent(second);
            var comparer = new GraphNodeComparer <int>();

            Assert.Equal(-1, comparer.Compare(second, third));
            Assert.Equal(1, comparer.Compare(third, first));
        }
コード例 #3
0
        public void SortListTest()
        {
            var set  = new GraphSet <int>();
            var list = new List <GraphNode <int> >();
            var last = set.Add(100);

            list.Add(last);
            for (var i = 99; i > -1; i--)
            {
                var newNode = set.Add(i);
                list.Add(newNode);
                last.AddParent(newNode);
                last = newNode;
            }
            list.Reverse(20, 30);
            list.Reverse(40, 30);
            var comparer = new GraphNodeComparer <int>();

            list.Sort(comparer);
            for (var i = 0; i <= 100; i++)
            {
                Assert.Equal(i, list[i].Value);
            }
        }