public void AllPropertiesAreRight()
        {
            var logger     = new ValidationLogger();
            var valService = new ValidationService(logger);

            ValidationServiceTestEntity obj = new ValidationServiceTestEntity(
                digit: 1, negativeInteger: -5, moreOneCharString: "a",
                requiredObject: new List <int>(), notEmptyString: "string");

            Assert.IsTrue(valService.Validate(obj).IsValid);
        }
        public void CheckIfLoggerIsWorking()
        {
            Mock <ILogger> loggerMock = new Mock <ILogger>();

            ValidationService valService = new ValidationService(loggerMock.Object);

            ValidationServiceTestEntity invalidObject = new ValidationServiceTestEntity(
                digit: -1, negativeInteger: 5, moreOneCharString: "",
                requiredObject: null, notEmptyString: "");

            FullReport result = valService.Validate(invalidObject);

            loggerMock.Verify(validator => validator.Log(It.IsAny <string>()),
                              Times.Exactly(result.Details.Count));
        }
        public void AllPropertiesAreWrong()
        {
            const int MSG_COUNT = 5;

            var logger     = new ValidationLogger();
            var valService = new ValidationService(logger);

            ValidationServiceTestEntity obj = new ValidationServiceTestEntity(
                digit: -1, negativeInteger: 5, moreOneCharString: "",
                requiredObject: null, notEmptyString: "");

            FullReport result = valService.Validate(obj);

            Assert.AreEqual(MSG_COUNT, result.Details.Count);
        }