public override void StyleTypedPropertiesAreDefined()
        {
            IDictionary <string, Type> properties = DefaultTreeViewToTest.GetType().GetStyleTypedProperties();

            Assert.AreEqual(1, properties.Count, "Incorrect number of style typed property attributes!");
            Assert.AreEqual(typeof(TreeViewItem), properties["ItemContainerStyle"], "Failed to find expected style type property ItemContainerStyle!");
        }
        public override void TemplateVisualStatesAreDefined()
        {
            IDictionary <string, string> states = DefaultTreeViewToTest.GetType().GetVisualStates();

            Assert.AreEqual(9, states.Count, "Incorrect number of template states");
            Assert.AreEqual("CommonStates", states["Normal"], "Failed to find expected state Normal!");
            Assert.AreEqual("CommonStates", states["MouseOver"], "Failed to find expected state MouseOver!");
            Assert.AreEqual("CommonStates", states["Pressed"], "Failed to find expected state Pressed!");
            Assert.AreEqual("CommonStates", states["Disabled"], "Failed to find expected state Disabled!");
            Assert.AreEqual("FocusStates", states["Focused"], "Failed to find expected state Focused!");
            Assert.AreEqual("FocusStates", states["Unfocused"], "Failed to find expected state Unfocused!");
            Assert.AreEqual <string>("ValidationStates", states["Valid"], "Failed to find expected state Valid!");
            Assert.AreEqual <string>("ValidationStates", states["InvalidFocused"], "Failed to find expected state InvalidFocused!");
            Assert.AreEqual <string>("ValidationStates", states["InvalidUnfocused"], "Failed to find expected state InvalidUnfocused!");
        }