public void TestThatValidatReturnsWhenIsMailAddressOnCommonValidationReturnsTrue()
        {
            var fixture = new Fixture();

            var commonValidationMock = MockRepository.GenerateMock <ICommonValidation>();

            commonValidationMock.Stub(m => m.IsMailAddress(Arg <string> .Is.Anything))
            .Return(true)
            .Repeat.Any();

            var userNameAsMailAddressValidator = new UserNameAsMailAddressValidator(commonValidationMock);

            Assert.That(userNameAsMailAddressValidator, Is.Not.Null);

            userNameAsMailAddressValidator.Validate(fixture.Create <string>(), fixture.Create <string>());
        }
        public void TestThatValidateCallsIsMailAddressOnCommonValidationWithInvalidUserName(string invalidUserName)
        {
            var fixture = new Fixture();

            var commonValidationMock = MockRepository.GenerateMock <ICommonValidation>();

            commonValidationMock.Stub(m => m.IsMailAddress(Arg <string> .Is.Anything))
            .Return(true)
            .Repeat.Any();

            var userNameAsMailAddressValidator = new UserNameAsMailAddressValidator(commonValidationMock);

            Assert.That(userNameAsMailAddressValidator, Is.Not.Null);

            userNameAsMailAddressValidator.Validate(invalidUserName, fixture.Create <string>());

            commonValidationMock.AssertWasCalled(m => m.IsMailAddress(Arg <string> .Is.Equal(invalidUserName)));
        }
        public void TestThatValidatThrowsSecurityExceptionWhenIsMailAddressOnCommonValidationReturnsFalse()
        {
            var fixture = new Fixture();

            var commonValidationMock = MockRepository.GenerateMock <ICommonValidation>();

            commonValidationMock.Stub(m => m.IsMailAddress(Arg <string> .Is.Anything))
            .Return(false)
            .Repeat.Any();

            var userNameAsMailAddressValidator = new UserNameAsMailAddressValidator(commonValidationMock);

            Assert.That(userNameAsMailAddressValidator, Is.Not.Null);

            var exception = Assert.Throws <SecurityException>(() => userNameAsMailAddressValidator.Validate(fixture.Create <string>(), fixture.Create <string>()));

            Assert.That(exception, Is.Not.Null);
            Assert.That(exception.Message, Is.Not.Null);
            Assert.That(exception.Message, Is.Not.Empty);
            Assert.That(exception.Message, Is.EqualTo(Resource.GetExceptionMessage(ExceptionMessage.UserNameAndPasswordCouldNotBeValidated)));
            Assert.That(exception.InnerException, Is.Null);
        }
        public void TestThatConstructorInitializeUserNameAsMailAddressValidator()
        {
            var userNameAsMailAddressValidator = new UserNameAsMailAddressValidator();

            Assert.That(userNameAsMailAddressValidator, Is.Not.Null);
        }