/**
  * Generates next valid password from given current password
  * @param string $current current password
  * @return string  next password
  */
 public function next($current)
 {
     $next = $current;
     do {
         $next = $this->incrementer->incrementWithoutLetters($next, ['i', 'o', 'l']);
     } while (!$this->validator->isCompliant($next));
     return $next;
 }
 /**
  * @test
  * @dataProvider passwords
  * @param string $input
  * @param bool $expected
  */
 public function enforcesPasswordRequirements($input, $expected)
 {
     $validator = new PasswordRequirementsValidator();
     $this->assertSame($expected, $validator->isCompliant($input), $input);
 }