public void ConstructorWithUpperValuesCreatesCorrectInstance() { RelativeDateTimeValidator validator = new RelativeDateTimeValidator(3, DateTimeUnit.Hour); Assert.AreEqual(0, validator.LowerBound); Assert.AreEqual(DateTimeUnit.None, validator.LowerUnit); Assert.AreEqual(RangeBoundaryType.Ignore, validator.LowerBoundType); Assert.AreEqual(3, validator.UpperBound); Assert.AreEqual(DateTimeUnit.Hour, validator.UpperUnit); Assert.AreEqual(RangeBoundaryType.Inclusive, validator.UpperBoundType); Assert.AreEqual(Resources.RelativeDateTimeNonNegatedDefaultMessageTemplate, validator.MessageTemplate); Assert.AreEqual(false, validator.Negated); }
public void CreatingInstanceWithNegated() { RelativeDateTimeValidator validator = new RelativeDateTimeValidator(3, DateTimeUnit.Hour, true); Assert.AreEqual(Resources.RelativeDateTimeNegatedDefaultMessageTemplate, validator.MessageTemplate); Assert.AreEqual(0, validator.LowerBound); Assert.AreEqual(DateTimeUnit.None, validator.LowerUnit); Assert.AreEqual(RangeBoundaryType.Ignore, validator.LowerBoundType); Assert.AreEqual(3, validator.UpperBound); Assert.AreEqual(DateTimeUnit.Hour, validator.UpperUnit); Assert.AreEqual(RangeBoundaryType.Inclusive, validator.UpperBoundType); Assert.AreEqual(Resources.RelativeDateTimeNegatedDefaultMessageTemplate, validator.MessageTemplate); Assert.AreEqual(true, validator.Negated); }
public void ConstructorWithLowerAndUpperValuesCreatesCorrectInstance() { RelativeDateTimeValidatorAttribute validatorAttribute = new RelativeDateTimeValidatorAttribute(2, DateTimeUnit.Minute, RangeBoundaryType.Inclusive, 3, DateTimeUnit.Hour, RangeBoundaryType.Exclusive); RelativeDateTimeValidator validator = ((IValidatorDescriptor)validatorAttribute).CreateValidator(null, null, null, null) as RelativeDateTimeValidator; Assert.IsNotNull(validator); Assert.AreEqual(2, validator.LowerBound); Assert.AreEqual(DateTimeUnit.Minute, validator.LowerUnit); Assert.AreEqual(RangeBoundaryType.Inclusive, validator.LowerBoundType); Assert.AreEqual(3, validator.UpperBound); Assert.AreEqual(DateTimeUnit.Hour, validator.UpperUnit); Assert.AreEqual(RangeBoundaryType.Exclusive, validator.UpperBoundType); Assert.AreEqual(Resources.RelativeDateTimeNonNegatedDefaultMessageTemplate, validator.MessageTemplate); Assert.AreEqual(false, validator.Negated); }
public void ConstructorWithUpperValuesAndRangeBoundaryTypeAndNegatedCreatesCorrectInstance() { RelativeDateTimeValidatorAttribute validatorAttribute = new RelativeDateTimeValidatorAttribute(3, DateTimeUnit.Hour, RangeBoundaryType.Ignore); validatorAttribute.Negated = true; RelativeDateTimeValidator validator = ((IValidatorDescriptor)validatorAttribute).CreateValidator(null, null, null, null) as RelativeDateTimeValidator; Assert.IsNotNull(validator); Assert.AreEqual(0, validator.LowerBound); Assert.AreEqual(DateTimeUnit.None, validator.LowerUnit); Assert.AreEqual(RangeBoundaryType.Ignore, validator.LowerBoundType); Assert.AreEqual(3, validator.UpperBound); Assert.AreEqual(DateTimeUnit.Hour, validator.UpperUnit); Assert.AreEqual(RangeBoundaryType.Ignore, validator.UpperBoundType); Assert.AreEqual(Resources.RelativeDateTimeNegatedDefaultMessageTemplate, validator.MessageTemplate); Assert.AreEqual(true, validator.Negated); }
public void ConstructorWithLowerAndUpperAndMessageTemplateAndNegatedValuesCreatesCorrectInstance() { RelativeDateTimeValidatorAttribute validatorAttribute = new RelativeDateTimeValidatorAttribute(2, DateTimeUnit.Minute, RangeBoundaryType.Inclusive, 3, DateTimeUnit.Hour, RangeBoundaryType.Exclusive); validatorAttribute.Negated = true; validatorAttribute.MessageTemplate = "my message template"; RelativeDateTimeValidator validator = ((IValidatorDescriptor)validatorAttribute).CreateValidator(null, null, null, null) as RelativeDateTimeValidator; Assert.IsNotNull(validator); Assert.AreEqual(2, validator.LowerBound); Assert.AreEqual(DateTimeUnit.Minute, validator.LowerUnit); Assert.AreEqual(RangeBoundaryType.Inclusive, validator.LowerBoundType); Assert.AreEqual(3, validator.UpperBound); Assert.AreEqual(DateTimeUnit.Hour, validator.UpperUnit); Assert.AreEqual(RangeBoundaryType.Exclusive, validator.UpperBoundType); Assert.AreEqual("my message template", validator.MessageTemplate); Assert.AreEqual(true, validator.Negated); }
public RelativeDateTimeValidatorOperation( string keyToValidate, string resultKey, int lowerBound, DateTimeUnit lowerUnit, RangeBoundaryType lowerBoundaryType, int upperBound, DateTimeUnit upperUnit, RangeBoundaryType upperBoundaryType, bool negated) : base(keyToValidate, resultKey) { Validator = new RelativeDateTimeValidator( lowerBound, lowerUnit, lowerBoundaryType, upperBound, upperUnit, upperBoundaryType, string.Empty, negated ) { Tag = keyToValidate }; }
public void NonNegatedSuccessForDateTimeUpperOnlyExclusive() { RelativeDateTimeValidator validator = new RelativeDateTimeValidator(0, DateTimeUnit.None, RangeBoundaryType.Exclusive); Assert.IsTrue(validator.Validate(DateTime.Now.AddDays(-1)).IsValid); }
public void NonNegatedRejectsNull() { RelativeDateTimeValidator validator = new RelativeDateTimeValidator(2, DateTimeUnit.Minute, true); ValidationResults results = validator.Validate(null); Assert.IsFalse(results.IsValid); }
public void LowerNoneUnitWithNonIgnoreBoundaryTypeThrows() { RelativeDateTimeValidator validator = new RelativeDateTimeValidator(5, DateTimeUnit.None, RangeBoundaryType.Inclusive); }
public void ValidatesUsingTheCurrentDataAtTheTimeOfTheValidation() { var validator = new RelativeDateTimeValidator(-10, DateTimeUnit.Second, RangeBoundaryType.Exclusive, 0, DateTimeUnit.Day, RangeBoundaryType.Ignore); var pointInTime = DateTime.Now; Assert.IsTrue(validator.Validate(pointInTime).IsValid); Thread.Sleep(15000); Assert.IsFalse(validator.Validate(pointInTime).IsValid); }
public void ConstructorWithLowerAndUpperAndMessageTemplateAndNegatedValuesCreatesCorrectInstance() { RelativeDateTimeValidator validator = new RelativeDateTimeValidator(2, DateTimeUnit.Minute, RangeBoundaryType.Inclusive, 3, DateTimeUnit.Hour, RangeBoundaryType.Exclusive, "my message template", true); Assert.AreEqual(2, validator.LowerBound); Assert.AreEqual(DateTimeUnit.Minute, validator.LowerUnit); Assert.AreEqual(RangeBoundaryType.Inclusive, validator.LowerBoundType); Assert.AreEqual(3, validator.UpperBound); Assert.AreEqual(DateTimeUnit.Hour, validator.UpperUnit); Assert.AreEqual(RangeBoundaryType.Exclusive, validator.UpperBoundType); Assert.AreEqual("my message template", validator.MessageTemplate); Assert.AreEqual(true, validator.Negated); }
public void NegatedSuccessForDateTimeBetweenNegativeLowerAndNegativeUpper() { RelativeDateTimeValidator validator = new RelativeDateTimeValidator(-5, DateTimeUnit.Day, RangeBoundaryType.Inclusive, -3, DateTimeUnit.Day, RangeBoundaryType.Inclusive, true); ValidationResults results = validator.Validate(DateTime.Now.AddDays(-4)); Assert.IsFalse(results.IsValid); }
public void NegatedFailuresForSameUpperBoundValueUsingExclusiveBoundaryType() { RelativeDateTimeValidator validator = new RelativeDateTimeValidator(-5, DateTimeUnit.Day, RangeBoundaryType.Exclusive, 3, DateTimeUnit.Day, RangeBoundaryType.Exclusive, true); ValidationResults results = validator.Validate(DateTime.Now.AddDays(3)); Assert.IsTrue(results.IsValid); }
public void UpperBoundBiggerThanLowerBoundThrows() { RelativeDateTimeValidator validator = new RelativeDateTimeValidator(5, DateTimeUnit.Day, RangeBoundaryType.Inclusive, 3, DateTimeUnit.Day, RangeBoundaryType.Inclusive, false); }
public void NegatedSuccessForSameLowerBoundValueUsingInclusiveBoundaryType() { RelativeDateTimeValidator validator = new RelativeDateTimeValidator(-5, DateTimeUnit.Day, RangeBoundaryType.Inclusive, 3, DateTimeUnit.Day, RangeBoundaryType.Inclusive, true); ValidationResults results = validator.Validate(DateTime.Now.AddDays(-5)); Assert.IsFalse(results.IsValid); }
public void NegatedFailureForDateTimeSmallerThenLowerBound() { RelativeDateTimeValidator validator = new RelativeDateTimeValidator(-5, DateTimeUnit.Day, RangeBoundaryType.Inclusive, 3, DateTimeUnit.Day, RangeBoundaryType.Inclusive, false); ValidationResults results = validator.Validate(DateTime.Now.AddDays(-10)); Assert.IsFalse(results.IsValid); }
public void NegatedSuccessForDateTimeGreaterThenUpperBound() { RelativeDateTimeValidator validator = new RelativeDateTimeValidator(-5, DateTimeUnit.Day, RangeBoundaryType.Inclusive, 3, DateTimeUnit.Day, RangeBoundaryType.Inclusive, true); ValidationResults results = validator.Validate(DateTime.Now.AddDays(8)); Assert.IsTrue(results.IsValid); }
public void NonNegatedFailureForDateTimeUpperOnlyExclusive() { RelativeDateTimeValidator validator = new RelativeDateTimeValidator(0, DateTimeUnit.None, RangeBoundaryType.Exclusive); Assert.IsFalse(validator.Validate(DateTime.Now.AddSeconds(1)).IsValid); Assert.IsFalse(validator.Validate(DateTime.Now.AddDays(1)).IsValid); }
public void CanValidateThroughNonGenericProtocol() { RelativeDateTimeValidator validator = new RelativeDateTimeValidator(-1, DateTimeUnit.Day, RangeBoundaryType.Exclusive); Assert.IsFalse(validator.Validate((object)DateTime.Now).IsValid); }
public void NonNegatedSuccessForDateTimeUpperPositiveInclusive() { RelativeDateTimeValidator validator = new RelativeDateTimeValidator(3, DateTimeUnit.Day, RangeBoundaryType.Inclusive, 5, DateTimeUnit.Day, RangeBoundaryType.Inclusive, false); ValidationResults results = validator.Validate(DateTime.Now.AddDays(5)); Assert.IsTrue(results.IsValid); }
public void SuppliesAppropriateParametersToDefaultNegatedMessage() { RelativeDateTimeValidator validator = new RelativeDateTimeValidator(-10, DateTimeUnit.Day, 20, DateTimeUnit.Year, true); validator.Tag = "tag"; object target = DateTime.Now.AddDays(-2); string key = "key"; ValidationResults validationResults = new ValidationResults(); validator.DoValidate(target, null, key, validationResults); Assert.IsFalse(validationResults.IsValid); ValidationResult validationResult = ValidationTestHelper.GetResultsList(validationResults)[0]; Match match = TemplateStringTester.Match(validator.MessageTemplate, validationResult.Message); Assert.IsTrue(match.Success); Assert.IsFalse(match.Groups["param0"].Success); Assert.IsFalse(match.Groups["param1"].Success); Assert.IsFalse(match.Groups["param2"].Success); Assert.IsTrue(match.Groups["param3"].Success); Assert.AreEqual("-10", match.Groups["param3"].Value); Assert.IsTrue(match.Groups["param4"].Success); Assert.AreEqual("Day", match.Groups["param4"].Value); Assert.IsTrue(match.Groups["param5"].Success); Assert.AreEqual("20", match.Groups["param5"].Value); Assert.IsTrue(match.Groups["param6"].Success); Assert.AreEqual("Year", match.Groups["param6"].Value); }
public void NonNegatedFailureForDateTimeUpperNegativeExclusive() { RelativeDateTimeValidator validator = new RelativeDateTimeValidator(-5, DateTimeUnit.Day, RangeBoundaryType.Inclusive, -3, DateTimeUnit.Day, RangeBoundaryType.Exclusive, false); ValidationResults results = validator.Validate(DateTime.Now.AddDays(-3)); Assert.IsFalse(results.IsValid); }
public void NonNegatedFailureForDateTimeUpperOnlyPositiveInclusive() { RelativeDateTimeValidator validator = new RelativeDateTimeValidator(5, DateTimeUnit.Day, RangeBoundaryType.Inclusive); Assert.IsFalse(validator.Validate(DateTime.Now.AddDays(6)).IsValid); Assert.IsFalse(validator.Validate(DateTime.Now.AddDays(7)).IsValid); }
public void NonNegatedFailureForDateTimeUpperOnlyInclusive() { RelativeDateTimeValidator validator = new RelativeDateTimeValidator(0, DateTimeUnit.None, RangeBoundaryType.Inclusive); Assert.IsFalse(validator.Validate(DateTime.Now.AddDays(1)).IsValid); }
public void ConstructorWithLowerValuesAndUpperValuesAndNegatedCreatesCorrectInstance() { RelativeDateTimeValidator validator = new RelativeDateTimeValidator(3, DateTimeUnit.Hour, 7, DateTimeUnit.Year, true); Assert.AreEqual(3, validator.LowerBound); Assert.AreEqual(DateTimeUnit.Hour, validator.LowerUnit); Assert.AreEqual(RangeBoundaryType.Inclusive, validator.LowerBoundType); Assert.AreEqual(7, validator.UpperBound); Assert.AreEqual(DateTimeUnit.Year, validator.UpperUnit); Assert.AreEqual(RangeBoundaryType.Inclusive, validator.UpperBoundType); Assert.AreEqual(Resources.RelativeDateTimeNegatedDefaultMessageTemplate, validator.MessageTemplate); Assert.AreEqual(true, validator.Negated); }
public void NonNegatedFailureForDateTimeUpperOnlyNegativeExclusive() { RelativeDateTimeValidator validator = new RelativeDateTimeValidator(-5, DateTimeUnit.Day, RangeBoundaryType.Exclusive); Assert.IsFalse(validator.Validate(DateTime.Now.AddDays(-5)).IsValid); Assert.IsFalse(validator.Validate(DateTime.Now.AddDays(-2)).IsValid); Assert.IsFalse(validator.Validate(DateTime.Now).IsValid); Assert.IsFalse(validator.Validate(DateTime.Now.AddDays(3)).IsValid); }
public void NonNegatedSuccessForDateTimeUpperOnlyNegativeInclusive() { RelativeDateTimeValidator validator = new RelativeDateTimeValidator(-5, DateTimeUnit.Day, RangeBoundaryType.Inclusive); Assert.IsTrue(validator.Validate(DateTime.Now.AddDays(-5)).IsValid); Assert.IsTrue(validator.Validate(DateTime.Now.AddDays(-6)).IsValid); }
public void NonNegatedFailureForDateTimeUpperOnlyPositiveExclusive() { RelativeDateTimeValidator validator = new RelativeDateTimeValidator(5, DateTimeUnit.Day, RangeBoundaryType.Exclusive); // this assertion is time dependent //Assert.IsFalse(validator.Validate(DateTime.Now.AddDays(5)).IsValid); Assert.IsFalse(validator.Validate(DateTime.Now.AddDays(6)).IsValid); Assert.IsFalse(validator.Validate(DateTime.Now.AddDays(7)).IsValid); }
public void ConstructorWithUpperValuesAndRangeBoundaryTypeAndTemplateMessageAndNegatedCreatesCorrectInstance() { RelativeDateTimeValidator validator = new RelativeDateTimeValidator(3, DateTimeUnit.Hour, RangeBoundaryType.Ignore, "my template message", true); Assert.AreEqual(0, validator.LowerBound); Assert.AreEqual(DateTimeUnit.None, validator.LowerUnit); Assert.AreEqual(RangeBoundaryType.Ignore, validator.LowerBoundType); Assert.AreEqual(3, validator.UpperBound); Assert.AreEqual(DateTimeUnit.Hour, validator.UpperUnit); Assert.AreEqual(RangeBoundaryType.Ignore, validator.UpperBoundType); Assert.AreEqual("my template message", validator.MessageTemplate); Assert.AreEqual(true, validator.Negated); }