public void ShouldRegisterUserIfUnique()
{
var repository = new Mock<IRepository>();
var password = new Password {PasswordString = "abc"};
var user = new User(new EmailAddress("*****@*****.**"), password, repository.Object);
repository.Setup(rep => rep.LoadByEmailId(user.EmailAddress)).Returns(() => (User) null);
repository.Setup(rep => rep.Save(user));
user.Register();
repository.VerifyAll();
}