예제 #1
0
        public void TagsAllowAdding()
        {
            var node = new DummyNavegable("MyNameTest");

            node.Tags["MyTag"] = 5;
            Assert.AreEqual(5, node.Tags["MyTag"]);
        }
예제 #2
0
        public void AddChildrenThrowExceptionIfNull()
        {
            var node = new DummyNavegable("MyParent");
            List <DummyNavegable> children = null;

            Assert.Throws <ArgumentNullException>(() => node.Add(children));
        }
예제 #3
0
        public void ExceptionIfNullChild()
        {
            var            node  = new DummyNavegable("MyParent");
            DummyNavegable child = null;

            Assert.Throws <ArgumentNullException>(() => node.Add(child));
        }
예제 #4
0
        public void ChildrenGetsByName()
        {
            var node       = new DummyNavegable("MyChild");
            var parentNode = new DummyNavegable("MyParent");

            parentNode.Add(node);
            Assert.AreSame(node, parentNode.Children["MyChild"]);
        }
예제 #5
0
        public void PathWithParent()
        {
            var node       = new DummyNavegable("MyChild");
            var parentNode = new DummyNavegable("MyParent");

            parentNode.Add(node);

            Assert.AreEqual("/MyParent/MyChild", node.Path);
            Assert.AreEqual("/MyParent", parentNode.Path);
        }
예제 #6
0
        public void DefaultValues()
        {
            var node = new DummyNavegable("NodeName");

            Assert.AreEqual("NodeName", node.Name);
            Assert.AreEqual("/NodeName", node.Path);
            Assert.IsNull(node.Parent);
            Assert.IsEmpty(node.Children);
            Assert.IsEmpty(node.Tags);
        }
예제 #7
0
        public void AddChildUpdatesChildrenAndParent()
        {
            var node       = new DummyNavegable("MyChild");
            var parentNode = new DummyNavegable("MyParent");

            parentNode.Add(node);

            Assert.AreSame(parentNode, node.Parent);
            Assert.AreEqual(1, parentNode.Children.Count);
            Assert.AreSame(node, parentNode.Children[0]);
        }
예제 #8
0
        public void RemoveChildren()
        {
            var children = new List <DummyNavegable>();

            children.Add(new DummyNavegable("MyChild1"));
            children.Add(new DummyNavegable("MyChild2"));
            children.Add(new DummyNavegable("MyChild3"));
            var parent = new DummyNavegable("MyParent");

            parent.Add(children);
            Assert.AreEqual(3, parent.Children.Count);

            parent.RemoveChildren();
            Assert.IsEmpty(parent.Children);
        }
예제 #9
0
        public void AddAllChildren()
        {
            var children = new List <DummyNavegable>();

            children.Add(new DummyNavegable("MyChild1"));
            children.Add(new DummyNavegable("MyChild2"));
            children.Add(new DummyNavegable("MyChild3"));
            var parent = new DummyNavegable("MyParent");

            parent.Add(children);
            Assert.AreEqual(3, parent.Children.Count);
            Assert.AreSame(children[0], parent.Children[0]);
            Assert.AreSame(children[1], parent.Children[1]);
            Assert.AreSame(children[2], parent.Children[2]);
        }
예제 #10
0
        public void ReplaceIfSameName()
        {
            var children1 = new DummyNavegable("MyChild1");
            var children2 = new DummyNavegable("MyChild1");
            var parent    = new DummyNavegable("MyParent");

            parent.Add(children1);
            Assert.AreEqual(1, parent.Children.Count);
            Assert.AreSame(children1, parent.Children[0]);

            parent.Add(children2);
            Assert.AreEqual(1, parent.Children.Count);
            Assert.AreSame(children2, parent.Children[0]);
            Assert.AreNotSame(children1, parent.Children[0]);
        }
예제 #11
0
        public void PathIfParentIsNull()
        {
            var node = new DummyNavegable("MyNameTest");

            Assert.AreEqual("/MyNameTest", node.Path);
        }
예제 #12
0
        public void NameProperty()
        {
            var node = new DummyNavegable("MyNameTest");

            Assert.AreEqual("MyNameTest", node.Name);
        }