示例#1
0
        /// <summary>
        /// Get the dependency property tests.
        /// </summary>
        /// <returns>The dependency property tests.</returns>
        public override IEnumerable <DependencyPropertyTestMethod> GetDependencyPropertyTests()
        {
            // Get the base Control dependency property tests
            IList <DependencyPropertyTestMethod> tests = TagInherited(base.GetDependencyPropertyTests());

            tests.Add(ItemsSourceProperty.CheckDefaultValueTest);
            tests.Add(ItemsSourceProperty.ChangeClrSetterTest);
            tests.Add(ItemsSourceProperty.ChangeSetValueTest);
            tests.Add(ItemsSourceProperty.ClearValueResetsDefaultTest);
            tests.Add(ItemsSourceProperty.SetXamlAttributeTest);
            tests.Add(ItemsSourceProperty.SetXamlElementTest);

            tests.Add(CurrentIndexProperty.ChangeClrSetterTest);
            tests.Add(CurrentIndexProperty.ChangeSetValueTest);
            tests.Add(CurrentIndexProperty.SetXamlAttributeTest.Bug("TODO: find out why this fails."));
            tests.Add(CurrentIndexProperty.SetXamlElementTest.Bug("TODO: find out why this fails."));

            tests.Add(IsCyclicProperty.ChangeClrSetterTest);
            tests.Add(IsCyclicProperty.ChangeSetValueTest);
            tests.Add(IsCyclicProperty.ClearValueResetsDefaultTest);

            tests.Add(ItemTemplateProperty.CheckDefaultValueTest);
            tests.Add(ItemTemplateProperty.ChangeClrSetterTest);
            tests.Add(ItemTemplateProperty.ChangeSetValueTest);
            tests.Add(ItemTemplateProperty.SetNullTest);
            tests.Add(ItemTemplateProperty.ClearValueResetsDefaultTest);
            tests.Add(ItemTemplateProperty.CanBeStyledTest);
            tests.Add(ItemTemplateProperty.TemplateBindTest);

            tests.Add(AcceptsInvalidInputProperty.CheckDefaultValueTest);
            tests.Add(AcceptsInvalidInputProperty.ChangeClrSetterTest);

            tests.Add(FallbackItemProperty.CheckDefaultValueTest);
            tests.Add(FallbackItemProperty.ChangeClrSetterTest);

            DependencyPropertyTestMethod buggedTestA = tests.FirstOrDefault(a => a.Name == ValueProperty.SetXamlAttributeTest.Name);

            if (buggedTestA != null)
            {
                buggedTestA.Bug("Find out why this fails for DomainUpDown and not for UpDownBase.");
            }
            DependencyPropertyTestMethod buggedTestB = tests.FirstOrDefault(a => a.Name == ValueProperty.SetXamlElementTest.Name);

            if (buggedTestB != null)
            {
                buggedTestB.Bug("Find out why this fails for DomainUpDown and not for UpDownBase.");
            }

            return(tests);
        }
        /// <summary>
        /// Get the dependency property tests.
        /// </summary>
        /// <returns>The dependency property tests.</returns>
        public override IEnumerable <DependencyPropertyTestMethod> GetDependencyPropertyTests()
        {
            // Get the base Control dependency property tests
            IList <DependencyPropertyTestMethod> tests = TagInherited(base.GetDependencyPropertyTests());

            tests.Add(IsEnabledProperty.ChangesVisualStateTest(false, true, "Normal"));
            tests.Add(IsEnabledProperty.ChangesVisualStateTest(true, false, "Disabled"));
            tests.Add(IsEnabledProperty.DoesNotChangeVisualStateTest(true, true));
            tests.Add(IsEnabledProperty.DoesNotChangeVisualStateTest(false, false));

            // ExpandDirection tests
            // TODO: uncomment these tests if we decide to open up ExpandDirection.
            // tests.Add(ExpandDirectionProperty.CheckDefaultValueTest);
            // tests.Add(ExpandDirectionProperty.ChangeClrSetterTest);
            // tests.Add(ExpandDirectionProperty.ChangeSetValueTest);
            // tests.Add(ExpandDirectionProperty.ClearValueResetsDefaultTest);
            // tests.Add(ExpandDirectionProperty.InvalidValueFailsTest);
            // tests.Add(ExpandDirectionProperty.InvalidValueIsIgnoredTest);
            // tests.Add(ExpandDirectionProperty.CanBeStyledTest);
            // tests.Add(ExpandDirectionProperty.TemplateBindTest);
            // tests.Add(ExpandDirectionProperty.ChangesVisualStateTest(ExpandDirection.Down, ExpandDirection.Up, "ExpandUp"));
            // tests.Add(ExpandDirectionProperty.ChangesVisualStateTest(ExpandDirection.Up, ExpandDirection.Left, "ExpandLeft"));
            // tests.Add(ExpandDirectionProperty.ChangesVisualStateTest(ExpandDirection.Left, ExpandDirection.Right, "ExpandRight"));
            // tests.Add(ExpandDirectionProperty.ChangesVisualStateTest(ExpandDirection.Right, ExpandDirection.Down, "ExpandDown"));
            // tests.Add(ExpandDirectionProperty.SetXamlAttributeTest);
            // tests.Add(ExpandDirectionProperty.SetXamlElementTest);

            // IsSelected tests
            tests.Add(IsSelectedProperty.CheckDefaultValueTest);
            tests.Add(IsSelectedProperty.ChangeClrSetterTest);
            tests.Add(IsSelectedProperty.ChangeSetValueTest);
            tests.Add(IsSelectedProperty.ClearValueResetsDefaultTest);
            tests.Add(IsSelectedProperty.CanBeStyledTest);
            tests.Add(IsSelectedProperty.TemplateBindTest.Tag(Tags.RequiresFocus));
            tests.Add(IsSelectedProperty.ChangesVisualStateTest(false, true, "Expanded"));
            tests.Add(IsSelectedProperty.ChangesVisualStateTest(true, false, "Collapsed"));
            tests.Add(IsSelectedProperty.SetXamlAttributeTest);
            tests.Add(IsSelectedProperty.SetXamlElementTest);

            // AccordionButtonStyleProperty tests
            tests.Add(AccordionButtonStyleProperty.CheckDefaultValueTest);
            tests.Add(AccordionButtonStyleProperty.ChangeClrSetterTest);
            tests.Add(AccordionButtonStyleProperty.ChangeSetValueTest);
            tests.Add(AccordionButtonStyleProperty.SetNullTest);
            tests.Add(AccordionButtonStyleProperty.ClearValueResetsDefaultTest);
            tests.Add(AccordionButtonStyleProperty.CanBeStyledTest);
            tests.Add(AccordionButtonStyleProperty.TemplateBindTest);
            tests.Add(AccordionButtonStyleProperty.SetXamlAttributeTest.Bug("TODO: XAML Parser?"));
            tests.Add(AccordionButtonStyleProperty.SetXamlElementTest.Bug("TODO: XAML Parser?"));

            // ExpandableContentControlStyleProperty tests
            tests.Add(ExpandableContentControlStyleProperty.CheckDefaultValueTest);
            tests.Add(ExpandableContentControlStyleProperty.ChangeClrSetterTest);
            tests.Add(ExpandableContentControlStyleProperty.ChangeSetValueTest);
            tests.Add(ExpandableContentControlStyleProperty.SetNullTest);
            tests.Add(ExpandableContentControlStyleProperty.ClearValueResetsDefaultTest);
            tests.Add(ExpandableContentControlStyleProperty.CanBeStyledTest);
            tests.Add(ExpandableContentControlStyleProperty.TemplateBindTest);
            tests.Add(ExpandableContentControlStyleProperty.SetXamlAttributeTest.Bug("TODO: XAML Parser?"));
            tests.Add(ExpandableContentControlStyleProperty.SetXamlElementTest.Bug("TODO: XAML Parser?"));

            // ContentTargetSize tests
            tests.Add(ContentTargetSizeProperty.CheckDefaultValueTest);

            DependencyPropertyTestMethod buggedTest = tests.FirstOrDefault(a => a.Name == HeaderProperty.TemplateBindTest.Name);

            if (buggedTest != null)
            {
                buggedTest.Bug("Find out why this fails for AccordionItem and not for HeaderedContentControl.");
            }

            DependencyPropertyTestMethod datatemplateWithUIElementFailsTest = tests.FirstOrDefault(a => a.Name == ContentProperty.DataTemplateWithUIElementFailsTest.Name);

            if (datatemplateWithUIElementFailsTest != null)
            {
                // remove this test. It fails because the content starts out not visible, thus having no elements
                // to find.
                tests.Remove(datatemplateWithUIElementFailsTest);
            }

            return(tests);
        }