Пример #1
0
        public void Default()
        {
            Tree <string> tree = new Tree <string>("Root");

            tree.AddBranch("Child1");
            Assert.AreEqual(1, tree.Branches.Count);

            Tree <string> child2 = new Tree <string>("Child2");

            tree.AddBranch(child2);
            Assert.AreEqual(2, tree.Branches.Count);
            Assert.AreEqual(tree, child2.Parent);

            tree.Branches.Remove(child2);
            Assert.AreEqual(1, tree.Branches.Count);
            Assert.AreEqual(null, child2.Parent);

            Tree <string> child3 = tree.AddBranch("Child3");

            Assert.AreEqual(2, tree.Branches.Count);
            Assert.AreEqual("Child3", child3.Value);
            Assert.AreEqual(tree, child3.Parent);

            Tree <string> result = tree.BreathFirstSearch(t => t.Value == "Child3");

            Assert.AreEqual("Child3", result.Value);
        }
Пример #2
0
        public void GivenNodeInBranch_WhenRemoved_ThenNotShownInBranch()
        {
            Tree t = new Tree();

            ICommit c1 = new CommitStub("h1");
            ICommit c2 = new CommitStub("h2", c1);
            ICommit c3 = new CommitStub("h3", c2);

            t.SetCommits(new[] { c1, c2, c3 });

            IBranch b = new BranchStub("b", c3.Hash);

            t.AddBranch(b, new[] { c1.Hash, c2.Hash, c3.Hash });

            INode n2 = t.GetNode(c2.Hash);

            Assert.NotNull(n2);

            // Act.
            t.RemoveNode(n2);

            // Verify.
            INode[] nodesInBranch = t.EnumerateNodes(b).ToArray();
            Assert.Equal(2, nodesInBranch.Length);
            Assert.Equal(c1.Hash, nodesInBranch[0].Commit.Hash);
            Assert.Equal(c3.Hash, nodesInBranch[1].Commit.Hash);
        }
Пример #3
0
        static void Main(String[] args)
        {
            var tree       = new Tree();
            var fileReader = new FileReaderEnumerator(fileName);

            foreach (var inputLine in fileReader)
            {
                tree.AddBranch(inputLine);
            }
            tree.MergePossibleNodes();
            Console.WriteLine(tree.GetCountNodes());
            Console.ReadKey();
        }
Пример #4
0
 public void NAME()
 {
     var tree   = new Tree <object>();
     var node   = tree.AddLeaf("value of T");
     var branch = tree.AddBranch();
 }