public void Captures_first_argument_of_matching_type_if_no_match_index_is_supplied()
        {
            var constraint = new ArgumentConstraint<string>();
            var match = constraint.FindMatch(new object[] { "0", "1" });

            Assert.AreEqual("0", match);
        }
        public void Captures_argument_with_given_match_index()
        {
            var constraint = new ArgumentConstraint<string>(1);
            var match = constraint.FindMatch(new object[] { "0", 0d, "1", 1d, "2", 2d });

            Assert.AreEqual("1", match);
        }
예제 #3
0
        public void Is_WithMessage_ConditionIsNull()
        {
            var target = new ArgumentConstraint <int>(new Argument <int>("Test", 10));

            Action work = () => target.Is(null, "Testing {0} {1}", 1, 2);

            work.ShouldThrowArgumentNullException();
        }
예제 #4
0
        public void Is_WithMessage_IsFalse()
        {
            var target = new ArgumentConstraint <int>(new Argument <int>("Test", 10));

            Action work = () => target.Is(x => x < 0, "Testing {0} {1}", 1, 2);

            work.ShouldThrowArgumentException();
        }
예제 #5
0
        public void Is_ConditionIsNull()
        {
            var target = new ArgumentConstraint <int>(new Argument <int>("Test", 10));

            Action work = () => target.Is(null);

            work.ShouldThrowArgumentNullException();
        }
예제 #6
0
        public void Is_IsFalse()
        {
            var target = new ArgumentConstraint <int>(new Argument <int>("Test", 10));

            Action work = () => target.Is(x => x < 0);

            work.ShouldThrowArgumentException();
        }
예제 #7
0
        public void Ctor_WithArgument()
        {
            var expected = new Argument <int>("Test", 10);

            var target = new ArgumentConstraint <int>(expected);

            target.Argument.Should().Be(expected);
        }
예제 #8
0
        public void IsNull_IsFalse_WithMessage()
        {
            var target = new ArgumentConstraint <object>(new Argument <object>("a", "Hello"));

            Action work = () => target.IsNull("Testing");

            work.ShouldThrowArgumentException().ContainingMessage("Testing");
        }
예제 #9
0
        public void IsNotNullOrWhitespace_IsNull()
        {
            var target = new ArgumentConstraint <string>(new Argument <string>("a", null));

            Action work = () => target.IsNotNullOrWhiteSpace();

            work.ShouldThrowArgumentNullException();
        }
예제 #10
0
        public void IsEqualTo_IsFalse()
        {
            var target = new ArgumentConstraint <int>(new Argument <int>("a", 19));

            Action work = () => target.IsEqualTo(20);

            work.Should().Throw <ArgumentOutOfRangeException>();
        }
예제 #11
0
        public void IsNull_IsFalse()
        {
            var target = new ArgumentConstraint <object>(new Argument <object>("a", "Hello"));

            Action work = () => target.IsNull();

            work.ShouldThrowArgumentException();
        }
예제 #12
0
        public void IsNotNullOrEmpty_IsEmpty()
        {
            var target = new ArgumentConstraint <string>(new Argument <string>("a", ""));

            Action work = () => target.IsNotNullOrEmpty();

            work.ShouldThrowArgumentException();
        }
예제 #13
0
        public void HasLengthBetween_IsTooShort()
        {
            var target = new ArgumentConstraint <string>(new Argument <string>("a", "Hello"));

            Action work = () => target.HasLengthBetween(10, 20);

            work.ShouldThrowArgumentException();
        }
예제 #14
0
        public void IsAlphaNumeric_HasMixed()
        {
            var target = new ArgumentConstraint <string>(new Argument <string>("a", "123_ABC"));

            Action work = () => target.IsAlphanumeric();

            work.ShouldThrowArgumentException();
        }
예제 #15
0
        public void IsAlpha_HasNoLetters()
        {
            var target = new ArgumentConstraint <string>(new Argument <string>("a", "123"));

            Action work = () => target.IsAlpha();

            work.ShouldThrowArgumentException();
        }
예제 #16
0
        public void HasMinimumLength_IsNull()
        {
            var target = new ArgumentConstraint <string>(new Argument <string>("a", null));

            Action work = () => target.HasMinimumLength(1);

            work.ShouldThrowArgumentException();
        }
예제 #17
0
        public void IsNumeric_HasNoDigits()
        {
            var target = new ArgumentConstraint <string>(new Argument <string>("a", "ABC"));

            Action work = () => target.IsNumeric();

            work.ShouldThrowArgumentException();
        }
예제 #18
0
        public void HasLengthBetween_IsNull()
        {
            var target = new ArgumentConstraint <string>(new Argument <string>("a", null));

            Action work = () => target.HasLengthBetween(1, 10);

            work.ShouldThrowArgumentException();
        }
예제 #19
0
        public void IsZero_Decimal_WithMessage()
        {
            var target = new ArgumentConstraint <decimal>(new Argument <decimal>("a", 10));

            Action work = () => target.IsZero("Testing");

            work.ShouldThrowArgumentOutOfRangeException().ContainingMessage("Testing");
        }
        public void IsValid_IsFalse()
        {
            var target = new ArgumentConstraint <IValidatableObject>(new Argument <IValidatableObject>("arg", new TestValidation(false)));

            Action action = () => target.IsValid();

            action.Should().Throw <ValidationException>();
        }
예제 #21
0
        public void IsNotZero_Double_IsFalse()
        {
            var target = new ArgumentConstraint <double>(new Argument <double>("a", 0));

            Action work = () => target.IsNotZero();

            work.ShouldThrowArgumentOutOfRangeException();
        }
예제 #22
0
        public void IsZero_Decimal_IsFalse()
        {
            var target = new ArgumentConstraint <decimal>(new Argument <decimal>("a", 10));

            Action work = () => target.IsZero();

            work.ShouldThrowArgumentOutOfRangeException();
        }
예제 #23
0
        public void IsLessThanOrEqualToZero_Single_IsFalse()
        {
            var target = new ArgumentConstraint <float>(new Argument <float>("a", 10));

            Action work = () => target.IsLessThanOrEqualToZero();

            work.ShouldThrowArgumentOutOfRangeException();
        }
예제 #24
0
        public void IsLessThanOrEqualToZero_Double_WithMessage()
        {
            var target = new ArgumentConstraint <double>(new Argument <double>("a", 10));

            Action work = () => target.IsLessThanOrEqualToZero("Testing");

            work.ShouldThrowArgumentOutOfRangeException().ContainingMessage("Testing");
        }
        public void IsNotIn_IsInList()
        {
            var target = new ArgumentConstraint <SimpleEnum>(new Argument <SimpleEnum>("arg", SimpleEnum.First));

            Action action = () => target.IsNotIn(SimpleEnum.First, SimpleEnum.Third);

            action.Should().Throw <ArgumentOutOfRangeException>();
        }
        public void IsNotNone_IsFalse()
        {
            var target = new ArgumentConstraint <Date>(new Argument <Date>("arg", Date.None));

            Action action = () => target.IsNotNone();

            action.Should().Throw <ArgumentException>();
        }
        public void IsValidEnumAndNotZero_IsZero()
        {
            var target = new ArgumentConstraint <SimpleEnum>(new Argument <SimpleEnum>("arg", (SimpleEnum)0));

            Action action = () => target.IsValidEnumAndNotZero();

            action.Should().Throw <ArgumentOutOfRangeException>();
        }
예제 #28
0
        public void IsGreaterThanZero_Single_WithMessage()
        {
            var target = new ArgumentConstraint <float>(new Argument <float>("a", -10));

            Action work = () => target.IsGreaterThanZero("Testing");

            work.ShouldThrowArgumentOutOfRangeException().ContainingMessage("Testing");
        }
예제 #29
0
        public void HasMaximumLength_IsFalse()
        {
            var target = new ArgumentConstraint <string>(new Argument <string>("a", "Hello"));

            Action work = () => target.HasMaximumLength(3);

            work.ShouldThrowArgumentException();
        }
예제 #30
0
        public void IsGreaterThanZero_Single_IsZero()
        {
            var target = new ArgumentConstraint <float>(new Argument <float>("a", 0));

            Action work = () => target.IsGreaterThanZero();

            work.ShouldThrowArgumentOutOfRangeException();
        }
예제 #31
0
        public void IsNumeric_HasNoDigitsWithMessage()
        {
            var target          = new ArgumentConstraint <string>(new Argument <string>("a", "ABC"));
            var expectedMessage = "Testing";

            Action work = () => target.IsNumeric(expectedMessage);

            work.ShouldThrowArgumentException().ContainingMessage(expectedMessage);
        }
예제 #32
0
        public void HasMaximumLength_WithMessage()
        {
            var target          = new ArgumentConstraint <string>(new Argument <string>("a", "Hello"));
            var expectedMessage = "Testing";

            Action work = () => target.HasMaximumLength(3, expectedMessage);

            work.ShouldThrowArgumentException().ContainingMessage(expectedMessage);
        }
 public void SetUp()
 {
     _constraint = new ArgumentConstraint<string>();
 }
 public void Throws_ArgumentNotFoundException_if_match_index_is_too_large()
 {
     var constraint = new ArgumentConstraint<string>(2);
     constraint.FindMatch(new object[] { "0", "1" });
 }