/// <summary>
        /// Verify the control's style typed properties.
        /// </summary>
        public override void StyleTypedPropertiesAreDefined()
        {
            IDictionary <string, Type> properties = DefaultAccordionItemToTest.GetType().GetStyleTypedProperties();

            Assert.AreEqual(2, properties.Count, "Incorrect number of style typed property attributes!");
            Assert.AreEqual(typeof(AccordionButton), properties["AccordionButtonStyle"], "Failed to find expected style type property AccordionButtonStyle!");
            Assert.AreEqual(typeof(ExpandableContentControl), properties["ExpandableContentControlStyle"], "Failed to find expected style type property ExpandableContentControlStyle!");
        }
        /// <summary>
        /// Verify the control's template visual states.
        /// </summary>
        public override void TemplateVisualStatesAreDefined()
        {
            IDictionary <string, string> states = DefaultAccordionItemToTest.GetType().GetVisualStates();

            Assert.AreEqual(14, 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("ExpansionStates", states["Expanded"], "Failed to find expected state Expanded!");
            Assert.AreEqual("ExpansionStates", states["Collapsed"], "Failed to find expected state Collapsed!");
            Assert.AreEqual("LockedStates", states["Locked"], "Failed to find expected state Locked!");
            Assert.AreEqual("LockedStates", states["Unlocked"], "Failed to find expected state Unlocked!");
            Assert.AreEqual("ExpandDirectionStates", states["ExpandDown"], "Failed to find expected state ExpandDown!");
            Assert.AreEqual("ExpandDirectionStates", states["ExpandUp"], "Failed to find expected state ExpandUp!");
            Assert.AreEqual("ExpandDirectionStates", states["ExpandLeft"], "Failed to find expected state ExpandLeft!");
            Assert.AreEqual("ExpandDirectionStates", states["ExpandRight"], "Failed to find expected state ExpandRight!");
        }