Ejemplo n.º 1
0
        public void TestParentToDescendant()
        {
            var root = new TestNode("Root");

            var child0 = new TestNode("0");
            var child1 = new TestNode("1");
            var child2 = new TestNode("2");

            root.Children.Add(child0);
            child0.Children.Add(child1);
            child1.Children.Add(child2);

            Arrange.VerifyRelationship(root, child0);
            Arrange.VerifyRelationship(child0, child1);
            Arrange.VerifyRelationship(child1, child2);

            try
            {
                child1.Parent = child2;
                Assert.Fail("Cyclic dependency.");
            }
            catch (TreeZeroException ex)
            {
                Assert.AreEqual(ExceptionReason.ParentToDescendant, ex.Reason);
            }
            catch (Exception ex)
            {
                Assert.Fail($"Wrong exception:{ex}");
            }
        }
        public void TestBasicTreeByChildren()
        {
            var root = new TestNode("Root");

            var manager = new TreeItemsSourceManager <TestNode>(true, root, (node) => true, (node) => (node).Children);

            var child0 = new TestNode("0");
            var child1 = new TestNode("1");
            var child2 = new TestNode("2");

            root.Children.Add(child0);
            child0.Children.Add(child1);
            child1.Children.Add(child2);

            Arrange.VerifyRelationship(root, child0);
            Arrange.VerifyRelationship(child0, child1);
            Arrange.VerifyRelationship(child1, child2);

            Arrange.ExpandTreeGridNodes(manager);

            //child1.Parent = child0;

            try
            {
                root.Children.Add(child0);
            }
            catch (TreeZeroException tzex)
            {
                Assert.AreEqual(ExceptionReason.ChildAddedToSameParent, tzex.Reason);
            }
            catch
            {
                Assert.Fail("Expected ExceptionReason.ChildAddedToSameParent");
            }
        }
Ejemplo n.º 3
0
        public void TestChildrenAddSelf()
        {
            var root = new TestNode("Root");

            var child0 = new TestNode("0");
            var child1 = new TestNode("1");
            var child2 = new TestNode("2");

            root.Children.Add(child0);
            root.Children.Add(child1);
            root.Children.Add(child2);

            Arrange.VerifyRelationship(root, child0);
            Arrange.VerifyRelationship(root, child1);
            Arrange.VerifyRelationship(root, child2);

            try
            {
                child0.Children.Add(child0);
                Assert.Fail("Node cannot be its own parent.");
            }
            catch (TreeZeroException ex)
            {
                Assert.AreEqual(ExceptionReason.ParentToSelf, ex.Reason);
            }
            catch (Exception ex)
            {
                Assert.Fail($"Wrong exception:{ex}");
            }
        }
        public void TestNestChild()
        {
            var root = new TestNode("Root");

            var child0 = new TestNode("0");
            var child1 = new TestNode("1");
            var child2 = new TestNode("2");

            child0.Parent = root;
            child1.Parent = root;
            child2.Parent = child1;

            Arrange.VerifyRelationship(root, child0);
            Arrange.VerifyRelationship(root, child1);
            Arrange.VerifyRelationship(child1, child2);

            Assert.AreEqual(Arrange.GetNodeCount(root), 4);
        }
Ejemplo n.º 5
0
        public void TestNewChildren()
        {
            ObservableCollection <TestNode> childNodes = new ObservableCollection <TestNode>();

            childNodes.Add(new TestNode("0"));
            childNodes.Add(new TestNode("1"));
            childNodes.Add(new TestNode("2"));

            var root = new TestNode(childNodes, "Root");

            Arrange.VerifyRelationship(root, childNodes[0]);
            Arrange.VerifyRelationship(root, childNodes[1]);
            Arrange.VerifyRelationship(root, childNodes[2]);

            var manager = new TreeItemsSourceManager <TestNode>(true, root, (node) => true, (node) => ((TestNode)node).Children);

            //manager.IsVisible = true;
            manager.IsExpanded = true;

            Debug.WriteLine(manager);
        }
        public void TestBasicTreeByParent()
        {
            var root = new TestNode("Root");

            var child0 = new TestNode("0");
            var child1 = new TestNode("1");
            var child2 = new TestNode("2");


            child0.Parent = root;
            child1.Parent = root;
            child2.Parent = root;
            Arrange.VerifyRelationship(root, child0);
            Arrange.VerifyRelationship(root, child1);
            Arrange.VerifyRelationship(root, child2);

            Assert.AreEqual(Arrange.GetNodeCount(root), 4);

            TestNode s = root;

            Debug.WriteLine(s);
        }
Ejemplo n.º 7
0
        public void TestParentToDescendant()
        {
            var root = new TestNode("Root");

            var manager = new TreeItemsSourceManager <TestNode>(true, root, (node) => true, (node) => ((TestNode)node).Children);

            //manager.IsVisible = true;
            manager.IsExpanded = true;
            var child0 = new TestNode("0");
            var child1 = new TestNode("1");
            var child2 = new TestNode("2");

            root.Children.Add(child0);
            child0.Children.Add(child1);
            child1.Children.Add(child2);

            Arrange.VerifyRelationship(root, child0);
            Arrange.VerifyRelationship(child0, child1);
            Arrange.VerifyRelationship(child1, child2);

            //manager.IsVisible = true;
            manager.IsExpanded = true;

            Debug.WriteLine(manager);

            try
            {
                child1.Parent = child2;
                Assert.Fail("Cyclic dependency.");
            }
            catch (TreeZeroException ex)
            {
                Assert.AreEqual(ExceptionReason.ParentToDescendant, ex.Reason);
            }
            catch (Exception ex)
            {
                Assert.Fail($"Wrong exception:{ex}");
            }
        }
        public void TestRemoveChild()
        {
            var root = new TestNode("Root");

            var child0 = new TestNode("0");
            var child1 = new TestNode("1");
            var child2 = new TestNode("2");

            child0.Parent = root;
            child1.Parent = root;
            child2.Parent = root;

            Arrange.VerifyRelationship(root, child0);

            Arrange.VerifyRelationship(root, child1);
            root.Children.Remove(child1);
            Assert.AreEqual(0, Arrange.CountChildReferences(root, child1));
            Assert.AreEqual(null, child1.Parent);

            Arrange.VerifyRelationship(root, child2);

            Assert.AreEqual(Arrange.GetNodeCount(root), 3);
        }