/**
  * @test
  * @depends validateDigestWithNonceDirExpectedException
  * @depends validateDigestWithNonceDir
  * @depends validateDigestWithoutNonceDir
  * @depends validateDigestExpireTime
  */
 public function authenticate()
 {
     $user = $this->getMock('Symfony\\Component\\Security\\Core\\User\\UserInterface');
     $user->expects($this->once())->method('getPassword')->will($this->returnValue('test'));
     $user->expects($this->once())->method('getRoles')->will($this->returnValue(array()));
     $this->userProvider->expects($this->once())->method('loadUserByUsername')->will($this->returnValue($user));
     $expected = new Token();
     $expected->setUser($user);
     $expected->setAuthenticated(true);
     $time = date('Y-m-d H:i:s');
     $digest = base64_encode(sha1(base64_decode(base64_encode('test')) . $time . 'test', true));
     //$digest, base64_encode('test'), $time, 'test', true),
     $token = new Token();
     $token->digest = $digest;
     $token->nonce = base64_encode('test');
     $token->created = $time;
     $provider = new ProviderTestSimple($this->userProvider);
     $result = $provider->authenticate($token);
     $this->assertEquals($expected, $result);
 }