/**
  * @dataProvider authenticateDataProvider
  * @param string $usernameIn
  * @param string $usernameOut
  * @param bool $expectedResult
  * @return void
  */
 public function testAuthenticate($usernameIn, $usernameOut, $expectedResult)
 {
     $password = '******';
     $config = 'config';
     $data = ['id' => 1, 'is_active' => 1, 'username' => $usernameOut];
     $this->configMock->expects($this->once())->method('isSetFlag')->with('admin/security/use_case_sensitive_login')->willReturn($config);
     $this->eventManagerMock->expects($this->any())->method('dispatch');
     $this->resourceMock->expects($this->any())->method('loadByUsername')->willReturn($data);
     $this->model->setIdFieldName('id');
     $this->encryptorMock->expects($this->any())->method('validateHash')->willReturn(true);
     $this->resourceMock->expects($this->any())->method('hasAssigned2Role')->willReturn(true);
     $this->assertEquals($expectedResult, $this->model->authenticate($usernameIn, $password));
 }