public void DefaultsForProviderAndExtendedPropertiesAreCorrect()
        {
            ValidationProvider validationProvider = new ValidationProvider();
            MockControl control = new MockControl();

            Assert.AreEqual(null, validationProvider.ErrorProvider);
            Assert.AreEqual("", validationProvider.RulesetName);
            Assert.AreEqual(null, validationProvider.SourceTypeName);
            Assert.AreEqual(ValidationSpecificationSource.All, validationProvider.SpecificationSource);
            Assert.AreEqual(@"{0}", validationProvider.ValidationResultFormat);
            Assert.AreEqual(false, validationProvider.GetPerformValidation(control));
            Assert.AreEqual(null, validationProvider.GetSourcePropertyName(control));
            Assert.AreEqual("Text", validationProvider.GetValidatedProperty(control));
        }
        public void CanGetSetPropertiesForControl()
        {
            ValidationProvider validationProvider = new ValidationProvider();

            MockControl control = new MockControl();

            validationProvider.SetPerformValidation(control, true);
            validationProvider.SetSourcePropertyName(control, "property");
            validationProvider.SetValidatedProperty(control, "controlproperty");

            Assert.AreEqual(true, validationProvider.GetPerformValidation(control));
            Assert.AreEqual("property", validationProvider.GetSourcePropertyName(control));
            Assert.AreEqual("controlproperty", validationProvider.GetValidatedProperty(control));
        }
        public void GettingAndSettingPropertiesOnNullControlThrows()
        {
            ValidationProvider validationProvider = new ValidationProvider();

            MockControl control = null;

            try
            {
                validationProvider.GetPerformValidation(control);
                Assert.Fail("should have thrown");
            }
            catch (ArgumentNullException) {}
            try
            {
                validationProvider.GetSourcePropertyName(control);
                Assert.Fail("should have thrown");
            }
            catch (ArgumentNullException) {}
            try
            {
                validationProvider.GetValidatedProperty(control);
                Assert.Fail("should have thrown");
            }
            catch (ArgumentNullException) {}
            try
            {
                validationProvider.SetPerformValidation(control, true);
                Assert.Fail("should have thrown");
            }
            catch (ArgumentNullException) {}
            try
            {
                validationProvider.SetSourcePropertyName(control, "");
                Assert.Fail("should have thrown");
            }
            catch (ArgumentNullException) {}
            try
            {
                validationProvider.SetValidatedProperty(control, "");
                Assert.Fail("should have thrown");
            }
            catch (ArgumentNullException) {}
        }