Пример #1
0
        public void Child_Matches_Control_When_It_Is_Child_OfType()
        {
            var parent = new TestLogical1();
            var child = new TestLogical2();

            child.LogicalParent = parent;

            var selector = new Selector().OfType<TestLogical1>().Child().OfType<TestLogical2>();

            Assert.True(selector.Match(child).ImmediateResult);
        }
Пример #2
0
        public void Child_Doesnt_Match_Control_When_It_Is_Grandchild_OfType()
        {
            var grandparent = new TestLogical1();
            var parent      = new TestLogical2();
            var child       = new TestLogical3();

            parent.LogicalParent = grandparent;
            child.LogicalParent  = parent;

            var selector = default(Selector).OfType <TestLogical1>().Child().OfType <TestLogical3>();

            Assert.False(selector.Match(child).ImmediateResult);
        }
        public void Descendant_Matches_Control_When_It_Is_Descendant_OfType()
        {
            var grandparent = new TestLogical1();
            var parent      = new TestLogical2();
            var child       = new TestLogical3();

            parent.LogicalParent = grandparent;
            child.LogicalParent  = parent;

            var selector = default(Selector).OfType <TestLogical1>().Descendant().OfType <TestLogical3>();

            Assert.True(selector.Match(child).ImmediateResult);
        }
Пример #4
0
        public void Child_Doesnt_Match_Control_When_It_Is_Grandchild_OfType()
        {
            var grandparent = new TestLogical1();
            var parent      = new TestLogical2();
            var child       = new TestLogical3();

            parent.LogicalParent = grandparent;
            child.LogicalParent  = parent;

            var selector = default(Selector).OfType <TestLogical1>().Child().OfType <TestLogical3>();

            Assert.Equal(SelectorMatchResult.NeverThisInstance, selector.Match(child).Result);
        }
Пример #5
0
        public void Descendant_Matches_Control_When_It_Is_Descendant_OfType()
        {
            var grandparent = new TestLogical1();
            var parent      = new TestLogical2();
            var child       = new TestLogical3();

            parent.LogicalParent = grandparent;
            child.LogicalParent  = parent;

            var selector = default(Selector).OfType <TestLogical1>().Descendant().OfType <TestLogical3>();

            Assert.Equal(SelectorMatchResult.AlwaysThisInstance, selector.Match(child).Result);
        }
Пример #6
0
        public void Child_Doesnt_Match_Control_When_It_Is_Grandchild_OfType()
        {
            var grandparent = new TestLogical1();
            var parent = new TestLogical2();
            var child = new TestLogical3();

            parent.LogicalParent = grandparent;
            child.LogicalParent = parent;

            var selector = new Selector().OfType<TestLogical1>().Child().OfType<TestLogical3>();

            Assert.False(selector.Match(child).ImmediateResult);
        }
        public void Descendent_Matches_Control_When_It_Is_Descendent_OfType()
        {
            var grandparent = new TestLogical1();
            var parent = new TestLogical2();
            var child = new TestLogical3();

            parent.LogicalParent = grandparent;
            child.LogicalParent = parent;

            var selector = new Selector().OfType<TestLogical1>().Descendent().OfType<TestLogical3>();

            Assert.True(selector.Match(child).ImmediateResult);
        }
Пример #8
0
        public async Task Descendent_Matches_Control_When_It_Is_Descendent_OfType_And_Class()
        {
            var grandparent = new TestLogical1();
            var parent      = new TestLogical2();
            var child       = new TestLogical3();

            grandparent.Classes.Add("foo");
            parent.LogicalParent = grandparent;
            child.LogicalParent  = parent;

            var selector  = new Selector().OfType <TestLogical1>().Class("foo").Descendent().OfType <TestLogical3>();
            var activator = selector.Match(child).ObservableResult;

            Assert.True(await activator.Take(1));
        }
        public async Task Descendent_Matches_Control_When_It_Is_Descendent_OfType_And_Class()
        {
            var grandparent = new TestLogical1();
            var parent = new TestLogical2();
            var child = new TestLogical3();

            grandparent.Classes.Add("foo");
            parent.LogicalParent = grandparent;
            child.LogicalParent = parent;

            var selector = new Selector().OfType<TestLogical1>().Class("foo").Descendent().OfType<TestLogical3>();
            var activator = selector.Match(child).ObservableResult;

            Assert.True(await activator.Take(1));
        }
Пример #10
0
        public async Task Descendant_Doesnt_Match_Control_When_It_Is_Descendant_OfType_But_Wrong_Class()
        {
            var grandparent = new TestLogical1();
            var parent      = new TestLogical2();
            var child       = new TestLogical3();

            grandparent.Classes.Add("bar");
            parent.LogicalParent = grandparent;
            parent.Classes.Add("foo");
            child.LogicalParent = parent;

            var selector  = default(Selector).OfType <TestLogical1>().Class("foo").Descendant().OfType <TestLogical3>();
            var activator = selector.Match(child).Activator;

            Assert.False(await activator.Take(1));
        }
Пример #11
0
        public async Task Child_Matches_Control_When_It_Is_Child_OfType_And_Class()
        {
            var parent = new TestLogical1();
            var child  = new TestLogical2();

            child.LogicalParent = parent;

            var selector  = new Selector().OfType <TestLogical1>().Class("foo").Child().OfType <TestLogical2>();
            var activator = selector.Match(child).ObservableResult;

            Assert.False(await activator.Take(1));
            parent.Classes.Add("foo");
            Assert.True(await activator.Take(1));
            parent.Classes.Remove("foo");
            Assert.False(await activator.Take(1));
        }
Пример #12
0
        public async Task Child_Matches_Control_When_It_Is_Child_OfType_And_Class()
        {
            var parent = new TestLogical1();
            var child = new TestLogical2();

            child.LogicalParent = parent;

            var selector = new Selector().OfType<TestLogical1>().Class("foo").Child().OfType<TestLogical2>();
            var activator = selector.Match(child).ObservableResult;

            Assert.False(await activator.Take(1));
            parent.Classes.Add("foo");
            Assert.True(await activator.Take(1));
            parent.Classes.Remove("foo");
            Assert.False(await activator.Take(1));
        }