public void CheckPassword()
        {
            Player testPlayer = this.CreateTestPlayer();
            User   userModel  = testPlayer.User;
            CosmoMongerMembershipUser user = new CosmoMongerMembershipUser(userModel);

            user.ChangePassword("test");

            // Verify user
            Assert.That(user.VerifyEmail(userModel.VerificationCode), Is.True, "User should validate.");

            Assert.That(user.ValidatePassword("test"), Is.True, "Password should check to be valid.");
        }
        /// <summary>
        /// Verifies the supplied email address for the supplied username.
        /// </summary>
        /// <param name="username">The username to verify the email of.</param>
        /// <param name="verificationCode">The verification code.</param>
        /// <returns>The VerifyEmail View on error, redirects to the VerifyEmailSuccess action if successful.</returns>
        public ActionResult VerifyEmail(string username, string verificationCode)
        {
            CosmoMongerMembershipUser checkUser = (CosmoMongerMembershipUser)this.Provider.GetUser(username, false);

            if (checkUser != null)
            {
                if (checkUser.VerifyEmail(verificationCode))
                {
                    return(RedirectToAction("VerifyEmailSuccess", new RouteValueDictionary(new { email = checkUser.Email })));
                }
                else
                {
                    ModelState.AddModelError("verificationCode", "Invalid verification code", verificationCode);
                }
            }
            else
            {
                ModelState.AddModelError("username", "Invalid username", username);
            }

            return(View());
        }