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); }
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); }
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); }
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); }
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); }
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)); }
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)); }
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)); }
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)); }