public void HeaderTemplateTest() { TabControl tabControl = new TabControl(); TabItem tabItem = new TabItem(); tabControl.Items.Add(tabItem); Assert.IsNull(tabItem.HeaderTemplate); CreateAsyncTask(tabControl, () => tabItem.Header = "TestHeader", () => Assert.AreEqual(tabItem.GetContentControl(tabItem.IsSelected, tabItem.TabStripPlacement).Content, "TestHeader"), () => tabItem.HeaderTemplate = new DataTemplate(), () => Assert.AreNotEqual(tabItem.GetContentControl(tabItem.IsSelected, tabItem.TabStripPlacement).Content, "TestHeader"), () => tabItem.Header = "NewHeader", () => Assert.AreNotEqual(tabItem.GetContentControl(tabItem.IsSelected, tabItem.TabStripPlacement).Content, "NewHeader"), () => tabItem.HeaderTemplate = null, () => Assert.AreEqual(tabItem.GetContentControl(tabItem.IsSelected, tabItem.TabStripPlacement).Content, "NewHeader") ); EnqueueTestComplete(); }