public function testSave()
 {
     $user = new User(new Email('*****@*****.**'));
     $user->setPassword('savedPassword')->setName('Saved John');
     try {
         $toDelete = $this->userRepository->findByEmail($user->getEmail());
         $this->userRepository->delete($toDelete);
     } catch (OutOfBoundsException $e) {
     }
     $savedUser = $this->userRepository->save($user);
     $this->assertNotNull($savedUser->getId());
     $toDelete = $this->userRepository->findByEmail($user->getEmail());
     $this->userRepository->delete($toDelete);
 }
 /**
  * @dataProvider nonStringProvider
  *
  * @expectedException \InvalidArgumentException
  *
  * @param mixed $invalidArgument
  */
 public function testSetPasswordWithInvalidValue($invalidArgument)
 {
     $user = new User($this->getMockEmail());
     $user->setPassword($invalidArgument);
 }