Esempio n. 1
0
        public void Added_Child_Should_Have_VisualParent_Set()
        {
            var target = new TestVisual();
            var child  = new Visual();

            target.AddChild(child);

            Assert.Equal(target, child.GetVisualParent());
        }
Esempio n. 2
0
        public void Added_Child_Should_Have_InheritanceParent_Set()
        {
            var target = new TestVisual();
            var child  = new TestVisual();

            target.AddChild(child);

            Assert.Equal(target, child.InheritanceParent);
        }
Esempio n. 3
0
        public void Removed_Child_Should_Have_VisualParent_Cleared()
        {
            var target = new TestVisual();
            var child  = new Visual();

            target.AddChild(child);
            target.RemoveChild(child);

            Assert.Null(child.GetVisualParent());
        }
Esempio n. 4
0
        public void Removed_Child_Should_Have_InheritanceParent_Cleared()
        {
            var target = new TestVisual();
            var child  = new TestVisual();

            target.AddChild(child);
            target.RemoveChild(child);

            Assert.Null(child.InheritanceParent);
        }
Esempio n. 5
0
        public void Initial_Children_Should_Have_VisualParent_Set()
        {
            var target = new TestVisual
            {
                InitialChildren = new[] { new Visual(), new Visual() }
            };

            var result = target.GetVisualChildren().Select(x => x.GetVisualParent()).ToList();

            CollectionAssert.AreEqual(new[] { target, target }, result);
        }
Esempio n. 6
0
        public void Initial_Children_Should_Be_Created()
        {
            var target = new TestVisual
            {
                InitialChildren = new[] { new Visual(), new Visual() }
            };

            var result = target.GetVisualChildren().ToList();

            CollectionAssert.AreEqual(target.InitialChildren.ToList(), result);
        }
Esempio n. 7
0
        public void Clearing_Children_Should_Clear_VisualParent()
        {
            var children = new[] { new Visual(), new Visual() };
            var target   = new TestVisual();

            target.AddChildren(children);
            target.ClearChildren();

            var result = children.Select(x => x.GetVisualParent()).ToList();

            Assert.Equal(new Visual[] { null, null }, result);
        }
Esempio n. 8
0
        public void Added_Child_Should_Notify_VisualParent_Changed()
        {
            var target  = new TestVisual();
            var child   = new TestVisual();
            var parents = new List <IVisual>();

            child.GetObservable(Visual.VisualParentProperty).Subscribe(x => parents.Add(x));
            target.AddChild(child);
            target.RemoveChild(child);

            Assert.Equal(new IVisual[] { null, target, null }, parents);
        }
Esempio n. 9
0
        public void Clearing_Children_Should_Clear_VisualParent()
        {
            var target = new TestVisual
            {
                InitialChildren = new[] { new Visual(), new Visual() }
            };

            target.ClearChildren();

            var result = target.InitialChildren.Select(x => x.GetVisualParent()).ToList();

            CollectionAssert.AreEqual(new Visual[] { null, null }, result);
        }
Esempio n. 10
0
        public void Controls_Should_Add_Themselves_To_Root_NameScope()
        {
            var child2 = new TestVisual {
                Name = "bar"
            };
            var child1 = new TestVisual {
                Name = "foo", Child = child2
            };
            var root = new TestRoot {
                Child = child1
            };

            Assert.Same(child1, root.Find("foo"));
            Assert.Same(child2, root.Find("bar"));
        }
Esempio n. 11
0
        public void ParentChanged_Attached_Methods_Should_Be_Called_In_Right_Order()
        {
            var target  = new TestRoot();
            var child   = new TestVisual();
            int changed = 0;
            int attched = 0;
            int i       = 1;

            child.VisualParentChangedCalled  += (s, e) => changed = i++;
            child.AttachedToVisualTreeCalled += (s, e) => attched = i++;

            target.AddChild(child);

            Assert.AreEqual(1, changed);
            Assert.AreEqual(2, attched);
        }
Esempio n. 12
0
        public void Controls_Should_Add_Themselves_To_NameScopes_In_Attached_Property()
        {
            var child2 = new TestVisual {
                Name = "bar", [NameScope.NameScopeProperty] = new NameScope()
            };
            var child1 = new TestVisual {
                Name = "foo", Child = child2
            };
            var root = new TestRoot {
                Child = child1
            };

            Assert.Same(child1, root.Find("foo"));
            Assert.Null(root.Find("bar"));
            Assert.Same(child2, NameScope.GetNameScope(child2).Find("bar"));
        }
Esempio n. 13
0
        public void Controls_Should_Remove_Themselves_From_Root_NameScope()
        {
            var child2 = new TestVisual {
                Name = "bar"
            };
            var child1 = new TestVisual {
                Name = "foo", Child = child2
            };
            var root = new TestRoot {
                Child = child1
            };

            root.Child = null;

            Assert.Null(root.Find("foo"));
            Assert.Null(root.Find("bar"));
        }
Esempio n. 14
0
        public void ParentChanged_Detached_Methods_Should_Be_Called_In_Right_Order()
        {
            var target   = new TestRoot();
            var child    = new TestVisual();
            int changed  = 0;
            int detached = 0;
            int i        = 1;

            target.AddChild(child);

            child.VisualParentChangedCalled    += (s, e) => changed = i++;
            child.DetachedFromVisualTreeCalled += (s, e) => detached = i++;

            target.ClearChildren();

            Assert.AreEqual(1, changed);
            Assert.AreEqual(2, detached);
        }
Esempio n. 15
0
        public void Removing_Children_Should_Fire_OnDetachedFromVisualTree()
        {
            var child2 = new TestVisual();
            var child1 = new TestVisual {
                Child = child2
            };
            var root    = new TestRoot();
            var called1 = false;
            var called2 = false;

            root.Child = child1;
            child1.DetachedFromVisualTree += (s, e) => called1 = true;
            child2.DetachedFromVisualTree += (s, e) => called2 = true;
            root.Child = null;

            Assert.True(called1);
            Assert.True(called2);
        }
Esempio n. 16
0
        public void Adding_Children_Should_Fire_OnAttachedToVisualTree()
        {
            var child2 = new TestVisual();
            var child1 = new TestVisual {
                Child = child2
            };
            var root    = new TestRoot();
            var called1 = false;
            var called2 = false;

            child1.AttachedToVisualTree += (s, e) => called1 = true;
            child2.AttachedToVisualTree += (s, e) => called2 = true;

            root.Child = child1;

            Assert.True(called1);
            Assert.True(called2);
        }
Esempio n. 17
0
        public void Controls_Should_Remove_Themselves_From_NameScopes_In_Attached_Property()
        {
            var child2 = new TestVisual {
                Name = "bar"
            };
            var child1 = new TestVisual {
                Name = "foo", Child = child2, [NameScope.NameScopeProperty] = new NameScope()
            };
            var root = new TestRoot {
                Child = child1
            };

            root.Child = null;

            Assert.Null(root.Find("foo"));
            Assert.Null(root.Find("bar"));
            Assert.Null(NameScope.GetNameScope(child1).Find("bar"));
        }