示例#1
0
        public void NewConstructorTest2()
        {
            DependencyGraph g1 = new DependencyGraph();

            g1.AddDependency("A1", "B1");
            g1.AddDependency("A2", "B2");
            g1.AddDependency("A2", "B1");
            g1.AddDependency("B2", "A1");
            Assert.AreEqual(4, g1.Size);

            DependencyGraph g2 = new DependencyGraph(g1);

            Assert.AreEqual(4, g2.Size);
            g2.RemoveDependency("A1", "B1");

            Assert.AreEqual(3, g2.Size);
            Assert.AreEqual(4, g1.Size);

            Assert.IsTrue(g1.HasDependents("A1"));
            Assert.IsFalse(g2.HasDependents("A1"));

            g1.AddDependency("A3", "B3");
            Assert.AreEqual(5, g1.Size);
            Assert.AreEqual(3, g2.Size);

            g2.AddDependency("A4", "B4");
            Assert.AreEqual(5, g1.Size);
            Assert.AreEqual(4, g2.Size);

            Assert.AreEqual("(A1, B1) (A2, B2) (A2, B1) (B2, A1) (A3, B3)", g1.ToString());
            Assert.AreEqual("(B2, A1) (A2, B2) (A2, B1) (A4, B4)", g2.ToString());
        }
示例#2
0
        public void RemoveDependencyOnEmpty()
        {
            DependencyGraph g = new DependencyGraph();

            g.RemoveDependency("Dependee", "Dependent");
            Assert.IsFalse(g.HasDependees("Dependee"));
            Assert.IsFalse(g.HasDependents("Dependent"));
            Assert.AreEqual(0, g.Size);
            Console.WriteLine(g.ToString());
        }
示例#3
0
        public void ReplaceMethodsOnEmpty()
        {
            DependencyGraph g = new DependencyGraph();

            g.AddDependency("Dependee", "Dependent");

            List <string> stringList = new List <string>();

            for (int i = 1; i < 11; i++)
            {
                stringList.Add(i + "");
            }

            Assert.IsFalse(g.HasDependees("Dependee"));
            g.ReplaceDependees("Dependee", stringList);
            Assert.IsTrue(g.HasDependees("Dependee"));

            Assert.IsFalse(g.HasDependents("Dependent"));
            g.ReplaceDependents("Dependent", stringList);
            Assert.IsTrue(g.HasDependents("Dependent"));
            Console.WriteLine(g.ToString());
        }