public void CanGetUserByEMail()
        {
            // Arrange
            UserAccountView u1 = UserAccountViewBuilder.BuildUserAccountView();

            // Act
            UserAccountView u2 = UserAccountViewRepository.GetByEMail(u1.EMail);

            // Assert
            Assert.IsNotNull(u2);
            Assert.AreEqual(u1.Id, u2.Id);
            Assert.AreEqual(u1.EMail, u2.EMail);
        }
        public void CanAddAndGetUser()
        {
            // Arrange
            UserAccountView u1 = UserAccountViewBuilder.BuildUserAccountView("Klaus", "*****@*****.**");

            // Act
            UserAccountView u2 = UserAccountViewRepository.Get(u1.Id);

            // Assert
            Assert.IsNotNull(u2);
            Assert.AreEqual(u1.Id, u2.Id);
            Assert.AreNotEqual(u1.Id, Guid.Empty, "Persistence layer must assign IDs");
            Assert.AreEqual(u1.UserName, u2.UserName);
        }
        public void WhenGettingUserByEMailItIgnoresCasing()
        {
            // Arrange
            UserAccountView u1 = UserAccountViewBuilder.BuildUserAccountView();

            // Act
            UserAccountView u2 = UserAccountViewRepository.GetByEMail(u1.EMail.ToLower());
            UserAccountView u3 = UserAccountViewRepository.GetByEMail(u1.EMail.ToUpper());

            // Assert
            Assert.IsNotNull(u2);
            Assert.AreEqual(u1.Id, u2.Id);
            Assert.AreEqual(u1.EMail, u2.EMail);
            Assert.IsNotNull(u3);
            Assert.AreEqual(u1.Id, u3.Id);
            Assert.AreEqual(u1.EMail, u3.EMail);
        }