public void GivenUserModel_MapFromUserModelCorrectlyMapsToUserEntityClass_WhenCalled()
        {
            //arrange
            var userModel = new Models.User
            {
                username = "******",
                email    = "email",
                password = "******"
            };

            var sut = new Mappings.UserEntityMapper();

            //act
            var userEntity = sut.MapFromUserModel(userModel);

            //assert
            Assert.AreEqual(userEntity.username, userModel.username);
            Assert.AreEqual(userEntity.userinfo.email, userModel.email);
        }
        public void GivenUserEntityAndPasswordInfo_MapPasswordInfoCorrectlyMapsPasswordInfoToUserEntity_WhenCalled()
        {
            //arrange
            var passwordInfo = new DTOs.PasswordInfo
            {
                salt = "salt"
            };
            var crypto = new System.Security.Cryptography.SHA512Managed();

            passwordInfo.hash = crypto.ComputeHash(System.Text.Encoding.ASCII.GetBytes("apassword"));

            var userInfo = new Entities.UserInfo
            {
                email = "anemail",
                id    = 1
            };
            var userEntity = new Entities.User
            {
                id       = 1,
                userinfo = userInfo,
                username = "******"
            };

            var sut = new Mappings.UserEntityMapper();

            //act
            userEntity = sut.MapPasswordInfo(userEntity, passwordInfo);

            //assert
            Assert.AreEqual(userEntity.username, "username");
            Assert.AreEqual(userEntity.id, 1);
            Assert.AreEqual(userEntity.pwhash, passwordInfo.hash);
            Assert.AreEqual(userEntity.salt, passwordInfo.salt);
            Assert.AreEqual(userEntity.userinfo.email, "anemail");
            Assert.AreEqual(userEntity.userinfo.id, 1);
        }