Example #1
0
        public void ShouldValidateWhenOnlyErrors()
        {
            //Reads multiple validations , all supposed to fail and returns a list of exactly the same number of errors.
            _segment = new StringValidator.Segment(new StringValidator(""), "1500", "integger");
            var result =
                _segment.ExpectThat(Is.DateTime("ddMMyyyy"), Is.Matching(@"\dr"), Is.OneOf("a", "b", "c")).Read();

            Assert.IsTrue(result.HasErrors);
            Assert.AreEqual(3, result.SegmentErrors.Count);
            CollectionAssert.AllItemsAreUnique(result.SegmentErrors);
            for (var i = 0; i < 3; i++)
            {
                var segmentError = result.SegmentErrors[i];
                Assert.AreEqual("integger", segmentError.SegmentName);
            }
        }
        public void ShouldValidateDateTime(string sampleValue, string exactFormat, bool shouldPass)
        {
            var result = Is.DateTime(exactFormat)(new Is(sampleValue, "sample"));

            PerformAssertions(sampleValue, shouldPass, result);
        }
        public void ValidateEmptyInputAgainstRequirements()
        {
            const string detail          = "";
            var          validatorResult = new StringValidator(detail)
                                           .CheckLengthRange(35, 44)
                                           .ForNext(2, "Street number").ExpectThat(Is.Valued, Is.Long)
                                           .ForNext(12, "Surname").ExpectThat(Is.Valued)
                                           .ForNext(11, "First Name/Initial").ExpectThat(Is.Optional)
                                           .ForNext(8, "Birthday").ExpectThat(Is.Valued, Is.DateTime("dd/MM/yy"))
                                           .ForNext(2, "Filler").ExpectThat(Is.EqualTo(new string(' ', 2)))
                                           .ForNext(9, "Monthly income").ExpectThat(Is.Valued, Is.Decimal)
                                           .Read();

            Assert.AreEqual(validatorResult.SegmentErrors.Count, 7);
            Assert.IsTrue(validatorResult.HasErrors);
        }
        public void ValidateWithNoErrors()
        {
            const string detail          = " 2Einstein    Albert     01/01/78  25000.50";
            var          validatorResult = new StringValidator(detail)
                                           .CheckLengthRange(35, 44)
                                           .ForNext(2, "Street number").ExpectThat(Is.Valued, Is.Long)
                                           .ForNext(12, "Surname").ExpectThat(Is.Valued)
                                           .ForNext(11, "First Name/Initial").ExpectThat(Is.Optional)
                                           .ForNext(8, "Birthday").ExpectThat(Is.Valued, Is.DateTime("dd/MM/yy"))
                                           .ForNext(2, "Filler").ExpectThat(Is.EqualTo(new string(' ', 2)))
                                           .ForNext(9, "Monthly income").ExpectThat(Is.Valued, Is.Decimal)
                                           .Read();

            Assert.IsFalse(validatorResult.HasErrors);
        }