public void ThrowArgumentException_WhenNameIsEmpty() { // Act & Assert. Ensure.ArgumentExceptionIsThrown(() => { ValidatableArgument<int> argument = new ValidatableArgument<int>(string.Empty, 3); }, "name"); }
public void ThrowArgumentException_WhenNameIsEmpty() { // Act & Assert. Ensure.ArgumentExceptionIsThrown(() => { ValidatableArgument <int> argument = new ValidatableArgument <int>(string.Empty, 3); }, "name"); }
public void ThrowArgumentNullException_WhenNameArgumentIsNull() { // Act & Assert. Ensure.ArgumentNullExceptionIsThrown(() => { ValidatableArgument<int> argument = new ValidatableArgument<int>(null, 3); }, "name"); }
public void ThrowArgumentNullException_WhenNameArgumentIsNull() { // Act & Assert. Ensure.ArgumentNullExceptionIsThrown(() => { ValidatableArgument <int> argument = new ValidatableArgument <int>(null, 3); }, "name"); }
public void ReturnEnumerableEmpty_WhenValidationPredicatesCollectionIsEmpty() { // Arrange. ValidatableArgument <int> argument = new ValidatableArgument <int>("argument", 5); // Act. IEnumerable <IValidationPredicateResult> validationPredicateResults = argument.MatchValidationPredicates(); // Assert. Assert.IsFalse(validationPredicateResults.Any()); }
public void ReturnTheSameInstance_WhenArgumentIsValidatableArgument() { // Arrange. IArgument <int> argument = new ValidatableArgument <int>("argument", 3); // Act. IValidatableArgument <int> validatableArgument = argument.ToValidatableArgument(); // Assert. Assert.AreSame(argument, validatableArgument); }
public void ReturnTheSameInstance_WhenArgumentIsValidatableArgument() { // Arrange. IArgument<int> argument = new ValidatableArgument<int>("argument", 3); // Act. IValidatableArgument<int> validatableArgument = argument.ToValidatableArgument(); // Assert. Assert.AreSame(argument, validatableArgument); }
public void ThrowArgumentNullException_WhenValidationPredicateArgumentIsNull() { // Arrange. IArgument <int> argument = new ValidatableArgument <int>("argument", 3); // Act & Assert. Ensure.ArgumentNullExceptionIsThrown(() => { argument.AddValidationPredicate(null); }, "validationPredicate"); }
public void ThrowArgumentNullException_WhenValidationPredicateArgumentIsNull() { // Arrange. IArgument<int> argument = new ValidatableArgument<int>("argument", 3); // Act & Assert. Ensure.ArgumentNullExceptionIsThrown(() => { argument.AddValidationPredicate(null); }, "validationPredicate"); }
public void ReturnEnumerableEmpty_WhenValidationPredicatesCollectionIsEmpty() { // Arrange. ValidatableArgument<int> argument = new ValidatableArgument<int>("argument", 5); // Act. IEnumerable<IValidationPredicateResult> validationPredicateResults = argument.MatchValidationPredicates(); // Assert. Assert.IsFalse(validationPredicateResults.Any()); }
public void AddInstanceOfTypeValidationPredicate() { // Arrange. ValidatableArgument<object> argument = new ValidatableArgument<object>("argument", new object()); // Act. argument.IsInstanceOfType(typeof(string)); // Assert. Assert.AreEqual(1, argument.ValidationPredicates.Count()); Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(InstanceOfTypeValidationPredicate<object>)); }
public void AddLessThanOrEqualValidationPredicate_WhenArgumentIsDouble() { // Arrange. ValidatableArgument <double> argument = new ValidatableArgument <double>("argument", 3); // Act. argument.IsLessThanOrEqual(5); // Assert. Assert.AreEqual(1, argument.ValidationPredicates.Count()); Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(LessThanOrEqualValidationPredicate <double>)); }
public void CopiesAllProperties_FromTheGivenIArgument() { // Arrange. IArgument<int> argument = new ValidatableArgument<int>("name", 5); // Act. ValidatableArgument<int> validatableArgument = new ValidatableArgument<int>(argument); // Assert. Assert.AreEqual(argument.Name, validatableArgument.Name); Assert.AreEqual(argument.Value, validatableArgument.Value); }
public void AddNotEqualValidationPredicate_WhenArgumentIsDouble() { // Arrange. ValidatableArgument<double> argument = new ValidatableArgument<double>("argument", 3); // Act. argument.IsNotEqual(5); // Assert. Assert.AreEqual(1, argument.ValidationPredicates.Count()); Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(NotEqualValidationPredicate<double>)); }
public void AddLessThanValidationPredicate() { // Arrange. ValidatableArgument <short> argument = new ValidatableArgument <short>("argument", 3); // Act. argument.IsLessThan(5); // Assert. Assert.AreEqual(1, argument.ValidationPredicates.Count()); Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(LessThanValidationPredicate <short>)); }
public void AddTrueValidationPredicate() { // Arrange. ValidatableArgument <bool> argument = new ValidatableArgument <bool>("argument", true); // Act. argument.IsTrue(); // Assert. Assert.AreEqual(1, argument.ValidationPredicates.Count()); Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(TrueValidationPredicate)); }
public void AddGreaterThanValidationPredicate() { // Arrange. ValidatableArgument<byte> argument = new ValidatableArgument<byte>("argument", 3); // Act. argument.IsGreaterThan(5); // Assert. Assert.AreEqual(1, argument.ValidationPredicates.Count()); Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(GreaterThanValidationPredicate<byte>)); }
public void CopiesAllProperties_FromTheGivenIArgument() { // Arrange. IArgument <int> argument = new ValidatableArgument <int>("name", 5); // Act. ValidatableArgument <int> validatableArgument = new ValidatableArgument <int>(argument); // Assert. Assert.AreEqual(argument.Name, validatableArgument.Name); Assert.AreEqual(argument.Value, validatableArgument.Value); }
public void AddEqualValidationPredicate_WhenArgumentIsLong() { // Arrange. ValidatableArgument <long> argument = new ValidatableArgument <long>("argument", 3); // Act. argument.IsEqual(5); // Assert. Assert.AreEqual(1, argument.ValidationPredicates.Count()); Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(EqualValidationPredicate <long>)); }
public void AddEqualValidationPredicate() { // Arrange. ValidatableArgument<short> argument = new ValidatableArgument<short>("argument", 3); // Act. argument.IsEqual(5); // Assert. Assert.AreEqual(1, argument.ValidationPredicates.Count()); Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(EqualValidationPredicate<short>)); }
public void AddNullValidationPredicate() { // Arrange. ValidatableArgument <int?> argument = new ValidatableArgument <int?>("argument", 5); // Act. argument.IsNotNull(); // Assert. Assert.AreEqual(1, argument.ValidationPredicates.Count()); Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(NullableNotNullValidationPredicate <int>)); }
public void AddGreaterThanValidationPredicate_WhenArgumentIsFloat() { // Arrange. ValidatableArgument <float> argument = new ValidatableArgument <float>("argument", 3); // Act. argument.IsGreaterThan(5); // Assert. Assert.AreEqual(1, argument.ValidationPredicates.Count()); Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(GreaterThanValidationPredicate <float>)); }
public void AddGreaterThanOrEqualValidationPredicate_WhenArgumentIsDecimal() { // Arrange. ValidatableArgument<decimal> argument = new ValidatableArgument<decimal>("argument", 3); // Act. argument.IsGreaterThanOrEqual(5); // Assert. Assert.AreEqual(1, argument.ValidationPredicates.Count()); Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(GreaterThanOrEqualValidationPredicate<decimal>)); }
public void AddNotEqualValidationPredicate_WhenArgumentIsDateTime() { // Arrange. ValidatableArgument <DateTime> argument = new ValidatableArgument <DateTime>("argument", DateTime.Now); // Act. argument.IsNotEqual(DateTime.Now); // Assert. Assert.AreEqual(1, argument.ValidationPredicates.Count()); Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(NotEqualValidationPredicate <DateTime>)); }
public void AddGreaterThanOrEqualValidationPredicate() { // Arrange. ValidatableArgument <byte> argument = new ValidatableArgument <byte>("argument", 3); // Act. argument.IsGreaterThanOrEqual(5); // Assert. Assert.AreEqual(1, argument.ValidationPredicates.Count()); Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(GreaterThanOrEqualValidationPredicate <byte>)); }
public void AddNullableNullValidationPredicate() { // Arrange. ValidatableArgument<int?> argument = new ValidatableArgument<int?>("argument", 5); // Act. argument.IsNull(); // Assert. Assert.AreEqual(1, argument.ValidationPredicates.Count()); Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(NullableNullValidationPredicate<int>)); }
public void AddNotEqualValidationPredicate_WhenArgumentIsDecimal() { // Arrange. ValidatableArgument <decimal> argument = new ValidatableArgument <decimal>("argument", 3); // Act. argument.IsNotEqual(5); // Assert. Assert.AreEqual(1, argument.ValidationPredicates.Count()); Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(NotEqualValidationPredicate <decimal>)); }
public void AddLessThanValidationPredicate_WhenArgumentIsFloat() { // Arrange. ValidatableArgument<float> argument = new ValidatableArgument<float>("argument", 3); // Act. argument.IsLessThan(5); // Assert. Assert.AreEqual(1, argument.ValidationPredicates.Count()); Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(LessThanValidationPredicate<float>)); }
public void AddFalseValidationPredicate() { // Arrange. ValidatableArgument<bool> argument = new ValidatableArgument<bool>("argument", true); // Act. argument.IsFalse(); // Assert. Assert.AreEqual(1, argument.ValidationPredicates.Count()); Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(FalseValidationPredicate)); }
public void AddNotInstanceOfTypeValidationPredicate() { // Arrange. ValidatableArgument <object> argument = new ValidatableArgument <object>("argument", new object()); // Act. argument.IsNotInstanceOfType(typeof(string)); // Assert. Assert.AreEqual(1, argument.ValidationPredicates.Count()); Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(NotInstanceOfTypeValidationPredicate <object>)); }
public void AddValidationPredicateToValidationPredicatesCollection_WhenValidationPredicateArgumentIsNotNull() { // Arrange. IValidationPredicate <int> validationPredicate = new LessThanValidationPredicate <int>(5); ValidatableArgument <int> argument = new ValidatableArgument <int>("argument", 5); // Act. argument.AddValidationPredicate(validationPredicate); // Assert. Assert.AreEqual(1, argument.ValidationPredicates.Count()); Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(LessThanValidationPredicate <int>)); }
public void ThrowArgumentException_WhenTheFirstMachingValidationRuleIsEqual() { // Arrange. IValidatableArgument<string> argument = new ValidatableArgument<string>("argument", "asdf"); argument.IsNotEqual("asdf").IsEqual("asdf").IsNotNull(); // Act & Assert. Ensure.ArgumentExceptionIsThrown( () => { argument.Throw(); }, "argument"); }
public void AddNotNullOrEmptyStringValidationPredicate() { // Arrange. ValidatableArgument <string> argument = new ValidatableArgument <string>("argument", "abc"); // Act. argument.IsEqual("Abc", StringComparison.OrdinalIgnoreCase); // Assert. Assert.AreEqual(1, argument.ValidationPredicates.Count()); Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(StringEqualValidationPredicate)); }
public void ThrowArgumentException_WhenTEnumIsNotEnumeration() { // Arrange. ValidatableArgument<CustomIConvertibleStruct> argument = new ValidatableArgument<CustomIConvertibleStruct>("argument", default(CustomIConvertibleStruct)); // Act & Assert. Ensure.ArgumentExceptionIsThrown( () => { argument.IsMemberOfEnum(); }, "TEnum"); }
public void AddStringNotEqualValidationPredicate() { // Arrange. ValidatableArgument<string> argument = new ValidatableArgument<string>("argument", "abc"); // Act. argument.IsNotEqual("Abc", StringComparison.OrdinalIgnoreCase); // Assert. Assert.AreEqual(1, argument.ValidationPredicates.Count()); Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(StringNotEqualValidationPredicate)); }
public void AddDoubleNotInfinityValidationPredicate() { // Arrange. ValidatableArgument<double> argument = new ValidatableArgument<double>("argument", 5); // Act. argument.IsNotInfinity(); // Assert. Assert.AreEqual(1, argument.ValidationPredicates.Count()); Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(DoubleNotInfinityValidationPredicate)); }
public void AddValidationPredicateToValidationPredicatesCollection_WhenValidationPredicateArgumentIsNotNull() { // Arrange. IValidationPredicate<int> validationPredicate = new LessThanValidationPredicate<int>(5); ValidatableArgument<int> argument = new ValidatableArgument<int>("argument", 5); // Act. argument.AddValidationPredicate(validationPredicate); // Assert. Assert.AreEqual(1, argument.ValidationPredicates.Count()); Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(LessThanValidationPredicate<int>)); }
public void AddMemberOfEnumValidationPredicate_WhenTEnumIsEnumeration() { // Arrange. ValidatableArgument<CustomEnum> argument = new ValidatableArgument<CustomEnum>("argument", CustomEnum.Value1); // Act. argument.IsMemberOfEnum(); // Assert. Assert.AreEqual(1, argument.ValidationPredicates.Count()); Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(MemberOfEnumValidationPredicate<CustomEnum>)); }
public void NotThrowAnyException_WhenArgumentHasNoMatches() { // Arrange. IValidatableArgument<int> validatableArgument = new ValidatableArgument<int>("validatableArgument", 3); validatableArgument.IsLessThan(2).IsGreaterThan(5); // Act & Assert. Ensure.NoExceptionIsThrown( () => { validatableArgument.Throw(); }); }
public void ThrowArgumentOutOfRangeException_WhenTheFirstMatchingValidationRuleIsRangeRule() { // Arrange. IValidatableArgument<int> argument = new ValidatableArgument<int>("argument", 5); argument.IsEqual(3).IsLessThan(10); // Act & Assert. Ensure.ArgumentOutOfRangeExceptionIsThrown( () => { argument.Throw(); }, "argument"); }
public void AddGuidEmptyValidationPredicate() { // Arrange. ValidatableArgument<Guid> argument = new ValidatableArgument<Guid>("argument", Guid.NewGuid()); // Act. argument.IsEmptyGuid(); // Assert. Assert.AreEqual(1, argument.ValidationPredicates.Count()); Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(GuidEmptyValidationPredicate)); }
public void ThrowArgumentException_WhenTEnumIsNotEnumeration() { // Arrange. ValidatableArgument <CustomIConvertibleStruct> argument = new ValidatableArgument <CustomIConvertibleStruct>("argument", default(CustomIConvertibleStruct)); // Act & Assert. Ensure.ArgumentExceptionIsThrown( () => { argument.IsNotMemberOfEnum(); }, "TEnum"); }
public void AddNotMemberOfEnumValidationPredicate_WhenTEnumIsEnumeration() { // Arrange. ValidatableArgument <CustomEnum> argument = new ValidatableArgument <CustomEnum>("argument", CustomEnum.Value1); // Act. argument.IsNotMemberOfEnum(); // Assert. Assert.AreEqual(1, argument.ValidationPredicates.Count()); Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(NotMemberOfEnumValidationPredicate <CustomEnum>)); }
public void AddFloatNotNaNValidationPredicate() { // Arrange. ValidatableArgument <float> argument = new ValidatableArgument <float>("argument", 5); // Act. argument.IsNotNaN(); // Assert. Assert.AreEqual(1, argument.ValidationPredicates.Count()); Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(FloatNotNaNValidationPredicate)); }
public void AddDoubleNotInfinityValidationPredicate() { // Arrange. ValidatableArgument <double> argument = new ValidatableArgument <double>("argument", 5); // Act. argument.IsNotInfinity(); // Assert. Assert.AreEqual(1, argument.ValidationPredicates.Count()); Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(DoubleNotInfinityValidationPredicate)); }
public void AddFloatNaNValidationPredicate() { // Arrange. ValidatableArgument<float> argument = new ValidatableArgument<float>("argument", 5); // Act. argument.IsNaN(); // Assert. Assert.AreEqual(1, argument.ValidationPredicates.Count()); Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(FloatNaNValidationPredicate)); }
public void AddStringNotEmptyValidationPredicate() { // Arrange. ValidatableArgument <string> argument = new ValidatableArgument <string>("argument", "string"); // Act. argument.IsNotEmpty(); // Assert. Assert.AreEqual(1, argument.ValidationPredicates.Count()); Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(StringNotEmptyValidationPredicate)); }
public void AddStringNullOrEmptyValidationPredicate() { // Arrange. ValidatableArgument<string> argument = new ValidatableArgument<string>("argument", "string"); // Act. argument.IsNullOrEmpty(); // Assert. Assert.AreEqual(1, argument.ValidationPredicates.Count()); Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(StringNullOrEmptyValidationPredicate)); }
public void AddGuidNotEmptyValidationPredicate() { // Arrange. ValidatableArgument <Guid> argument = new ValidatableArgument <Guid>("argument", Guid.NewGuid()); // Act. argument.IsNotEmptyGuid(); // Assert. Assert.AreEqual(1, argument.ValidationPredicates.Count()); Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(GuidNotEmptyValidationPredicate)); }
public void AddEnumerableNullOrEmptyValidationPredicate() { // Arrange. ValidatableArgument<int[]> argument = new ValidatableArgument<int[]>("argument", new int[] { 1, 2, 3 }); // Act. argument.IsNullOrEmpty(); // Assert. Assert.AreEqual(1, argument.ValidationPredicates.Count()); Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(EnumerableNullOrEmptyValidationPredicate<int[]>)); }
public void AddEnumerableNullOrEmptyValidationPredicate() { // Arrange. ValidatableArgument <int[]> argument = new ValidatableArgument <int[]>("argument", new int[] { 1, 2, 3 }); // Act. argument.IsNullOrEmpty(); // Assert. Assert.AreEqual(1, argument.ValidationPredicates.Count()); Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(EnumerableNullOrEmptyValidationPredicate <int[]>)); }
public void ThrowArgumentOutOfRangeException_WhenTheFirstMatchingValidationRuleIsRangeRule() { // Arrange. IValidatableArgument <int> argument = new ValidatableArgument <int>("argument", 5); argument.IsEqual(3).IsLessThan(10); // Act & Assert. Ensure.ArgumentOutOfRangeExceptionIsThrown( () => { argument.Throw(); }, "argument"); }
public void ThrowArgumentException_WhenTheFirstMachingValidationRuleIsEqual() { // Arrange. IValidatableArgument <string> argument = new ValidatableArgument <string>("argument", "asdf"); argument.IsNotEqual("asdf").IsEqual("asdf").IsNotNull(); // Act & Assert. Ensure.ArgumentExceptionIsThrown( () => { argument.Throw(); }, "argument"); }
public void NotThrowAnyException_WhenArgumentHasNoMatches() { // Arrange. IValidatableArgument <int> validatableArgument = new ValidatableArgument <int>("validatableArgument", 3); validatableArgument.IsLessThan(2).IsGreaterThan(5); // Act & Assert. Ensure.NoExceptionIsThrown( () => { validatableArgument.Throw(); }); }
public void RunInExpectedTime() { // Arrange. ValidatableArgument<string> argument = new ValidatableArgument<string>("argument", "value"); // Act & Assert. Ensure.ActionRunsInExpectedTime( () => { argument.IsInstanceOfType(typeof(string)); }, PerformanceConstants.ValidationPredicateExecutionCount, PerformanceConstants.ValidationPredicateTotalExecutionExpectedTime); }
public void RunInExpectedTime() { // Arrange. ValidatableArgument <bool> argument = new ValidatableArgument <bool>("argument", true); // Act & Assert. Ensure.ActionRunsInExpectedTime( () => { argument.IsTrue(); }, PerformanceConstants.ValidationPredicateExecutionCount, PerformanceConstants.ValidationPredicateTotalExecutionExpectedTime); }
public void ReturnFalseAndArgumentExceptionIsNull_WhenArgumentDoesNotHaveMatches() { // Arrange. IValidatableArgument<int> validatableArgument = new ValidatableArgument<int>("validatableArgument", 3); validatableArgument.IsLessThan(2).IsGreaterThan(5); // Act. ArgumentException argumentException; bool result = validatableArgument.TryGetArgumentException(out argumentException); // Assert. Assert.IsFalse(result); Assert.IsNull(argumentException); }
public void RunInExpectedTime() { // Arrange. ValidatableArgument<int?> argument = new ValidatableArgument<int?>("argument", 5); // Act & Assert. Ensure.ActionRunsInExpectedTime( () => { argument.IsNull(); }, PerformanceConstants.ValidationPredicateExecutionCount, PerformanceConstants.ValidationPredicateTotalExecutionExpectedTime); }
public void AddStringRegexMatchValidationPredicate() { // Arrange. string value = TextHelper.GetTextWithLength(5000); ValidatableArgument<string> argument = new ValidatableArgument<string>("argument", value); // Act. argument.IsRegexMatch("xxx"); // Assert. Assert.AreEqual(1, argument.ValidationPredicates.Count()); Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(StringRegexMatchValidationPredicate)); }
public void AddStringRegexMatchValidationPredicate() { // Arrange. string value = TextHelper.GetTextWithLength(5000); ValidatableArgument <string> argument = new ValidatableArgument <string>("argument", value); // Act. argument.IsRegexMatch("xxx"); // Assert. Assert.AreEqual(1, argument.ValidationPredicates.Count()); Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(StringRegexMatchValidationPredicate)); }