public async Task When_NoItemTemplate() { var SUT = new ItemsControl() { ItemTemplate = null, ItemTemplateSelector = null, }; WindowHelper.WindowContent = SUT; await WindowHelper.WaitForIdle(); var source = new[] { "Item 1" }; SUT.ItemsSource = source; ContentPresenter cp = null; await WindowHelper.WaitFor(() => (cp = SUT.ContainerFromItem(source[0]) as ContentPresenter) != null); Assert.AreEqual("Item 1", cp.Content); var tb = cp.FindFirstChild <TextBlock>(); Assert.IsNotNull(tb); Assert.AreEqual("Item 1", tb.Text); }
public async Task When_ContainerSet_Then_ContentShouldBeSet() { var resources = new TestsResources(); var SUT = new ItemsControl { ItemTemplate = TextBlockItemTemplate }; WindowHelper.WindowContent = SUT; await WindowHelper.WaitForIdle(); var source = new[] { "item 0", }; SUT.ItemsSource = source; ContentPresenter cp = null; await WindowHelper.WaitFor(() => (cp = SUT.ContainerFromItem(source[0]) as ContentPresenter) != null); Assert.AreEqual("item 0", cp.Content); var tb = cp.FindFirstChild <TextBlock>(); Assert.IsNotNull(tb); Assert.AreEqual("item 0", tb.Text); }
public async Task When_SpecifyingDisplayMemberPath_Then_ContentShouldBeSet() { var resources = new TestsResources(); var SUT = new ItemsControl { ItemTemplate = TextBlockItemTemplate, DisplayMemberPath = "DisplayName" }; WindowHelper.WindowContent = SUT; await WindowHelper.WaitForIdle(); var source = new[] { new ItemForDisplayMemberPath { DisplayName = "item 0" }, new ItemForDisplayMemberPath { DisplayName = "item 1" }, new ItemForDisplayMemberPath { DisplayName = "item 2" } }; SUT.ItemsSource = source; async Task Assert(int index, string s) { ContentPresenter cp = null; await WindowHelper.WaitFor(() => (cp = SUT.ContainerFromItem(source[index]) as ContentPresenter) != null); cp.Content.Should().Be(s, $"ContainerFromItem() at index {index}"); var tb = cp.FindFirstChild <TextBlock>(); tb.Should().NotBeNull($"Item at index {index}"); tb.Text.Should().Be(s, $"TextBlock.Text at index {index}"); } using var _ = new AssertionScope(); await Assert(0, "item 0"); await Assert(1, "item 1"); await Assert(2, "item 2"); }