public void PasswordAnswerIsNotRequired()
			{
				var testData = UserTestData.Setup(false);
				testData.PasswordAnswer = null;

				MembershipCreateStatus status;
				var provider = new SrirachaMembershipProvider(testData.Repository.Object);
				var membershipUser = provider.CreateUser(testData.UserName, testData.Password, testData.EmailAddress, testData.PasswordQuestion, testData.PasswordAnswer, testData.IsApproved, testData.ProviderUserKey, out status);

				Assert.IsNotNull(membershipUser);
				Assert.AreEqual(MembershipCreateStatus.Success, status);
				testData.Repository.Verify(i => i.CreateUser(It.IsAny<SrirachaUser>()), Times.Once());
			}
			public void MustChangePasswordDefaultsToTrue()
			{
				var testData = UserTestData.Setup(false);

				MembershipCreateStatus status;
				var provider = new SrirachaMembershipProvider(testData.Repository.Object);
				var membershipUser = provider.CreateUser(testData.UserName, testData.Password, testData.EmailAddress, testData.PasswordQuestion, testData.PasswordAnswer, testData.IsApproved, testData.ProviderUserKey, out status);

				Assert.IsNotNull(membershipUser);
				Assert.AreEqual(MembershipCreateStatus.Success, status);
				testData.Repository.Verify(i => i.CreateUser(It.Is<SrirachaUser>(j=>j.MustChangePasswordIndicator == true)), Times.Once());
			}
			public void EmailAddressMustBeUnique()
			{
				var testData = UserTestData.Setup(false);
				testData.Repository.Setup(i => i.EmailAddressExists(It.Is<string>(j => j == testData.EmailAddress))).Returns(true);

				MembershipCreateStatus status;
				var provider = new SrirachaMembershipProvider(testData.Repository.Object);
				var membershipUser = provider.CreateUser(testData.UserName, testData.Password, testData.EmailAddress, testData.PasswordQuestion, testData.PasswordAnswer, testData.IsApproved, testData.ProviderUserKey, out status);

				Assert.IsNull(membershipUser);
				Assert.AreEqual(MembershipCreateStatus.DuplicateEmail, status);
				testData.Repository.Verify(i => i.CreateUser(It.IsAny<SrirachaUser>()), Times.Never());
			}