Beispiel #1
0
        public void TopoTest_One()
        {
            TopologicalSort.Node        node  = new TopologicalSort.Node();
            List <TopologicalSort.Node> nodes = new List <TopologicalSort.Node> {
                node
            };

            List <TopologicalSort.Node> sortedNodes = TopologicalSort.Sort(nodes);

            Assert.AreEqual(sortedNodes[0], nodes[0]);
        }
Beispiel #2
0
        public void TopoTest_NoDependencies()
        {
            TopologicalSort.Node        a     = new TopologicalSort.Node();
            TopologicalSort.Node        b     = new TopologicalSort.Node();
            List <TopologicalSort.Node> nodes = new List <TopologicalSort.Node> {
                a, b
            };
            List <TopologicalSort.Node> sortedNodes = TopologicalSort.Sort(nodes);

            Assert.IsTrue(sortedNodes.Contains(a));
            Assert.IsTrue(sortedNodes.Contains(b));
        }
Beispiel #3
0
 public void TopoTest_Circular()
 {
     TopologicalSort.Node a = new TopologicalSort.Node();
     TopologicalSort.Node b = new TopologicalSort.Node();
     a.Dependencies.Add(b);
     b.Dependencies.Add(a);
     List <TopologicalSort.Node> nodes = new List <TopologicalSort.Node> {
         a, b
     };
     // ReSharper disable once UnusedVariable
     List <TopologicalSort.Node> sortedNodes = TopologicalSort.Sort(nodes);
 }
Beispiel #4
0
        public void TopoTest_Two()
        {
            TopologicalSort.Node a = new TopologicalSort.Node();
            TopologicalSort.Node b = new TopologicalSort.Node();
            a.Dependencies.Add(b);
            List <TopologicalSort.Node> nodes = new List <TopologicalSort.Node> {
                a, b
            };

            List <TopologicalSort.Node> sortedNodes = TopologicalSort.Sort(nodes);

            Assert.AreEqual(sortedNodes[0], b);
            Assert.AreEqual(sortedNodes[1], a);
        }
Beispiel #5
0
        public void TopoTest_Multiple()
        {
            TopologicalSort.Node a = new TopologicalSort.Node();
            TopologicalSort.Node b = new TopologicalSort.Node();
            TopologicalSort.Node c = new TopologicalSort.Node();
            TopologicalSort.Node d = new TopologicalSort.Node();
            a.Dependencies.Add(b);
            a.Dependencies.Add(c);
            b.Dependencies.Add(d);
            List <TopologicalSort.Node> nodes = new List <TopologicalSort.Node> {
                a, b, c, d
            };
            List <TopologicalSort.Node> sortedNodes = TopologicalSort.Sort(nodes);

            Assert.IsTrue(sortedNodes.IndexOf(d) < sortedNodes.IndexOf(b));
            Assert.IsTrue(sortedNodes.IndexOf(b) < sortedNodes.IndexOf(a));
            Assert.IsTrue(sortedNodes.IndexOf(c) < sortedNodes.IndexOf(a));
        }