public void FailedVerification_VerificationFlagsNotChanged()
 {
     var sent = new DateTime(2000, 2, 3);
     var subject = new UserAccount();
     subject.VerificationKey = "test1";
     subject.VerificationKeySent = sent;
     
     subject.VerifyAccount("test2");
     
     Assert.AreEqual(false, subject.IsAccountVerified);
     Assert.AreEqual("test1", subject.VerificationKey);
     Assert.AreEqual(sent, subject.VerificationKeySent);
 }
 public void SuccessfulVerification_VerificationFlagsReset()
 {
     var subject = new UserAccount();
     subject.VerificationKey = "test";
     subject.VerifyAccount("test");
     Assert.AreEqual(true, subject.IsAccountVerified);
     Assert.IsNull(subject.VerificationKey);
     Assert.IsNull(subject.VerificationKeySent);
 }
 public void KeysMatch_VerificationSucceeds()
 {
     var subject = new UserAccount();
     subject.VerificationKey = "test1";
     var result = subject.VerifyAccount("test1");
     Assert.IsTrue(result);
 }
 public void KeysDontMatch_VerificationFails()
 {
     var subject = new UserAccount();
     subject.IsAccountVerified = true;
     subject.VerificationKey = "test1";
     var result = subject.VerifyAccount("test2");
     Assert.IsFalse(result);
 }
 public void AlreadyVerified_VerificationFails()
 {
     var subject = new UserAccount();
     subject.IsAccountVerified = true;
     var result = subject.VerifyAccount("test");
     Assert.IsFalse(result);
 }
 public void EmptyKey_VerificationFails()
 {
     var subject = new UserAccount();
     var result = subject.VerifyAccount(null);
     Assert.IsFalse(result);
 }