public function testAddAuthenticationMethod()
{
$this->auth->setAuthenticationMethods(array(TransparentAuthentication::Auth_HTTPBasicAuth_Plaintext));
// Try adding an existing method
$this->auth->addAuthenticationMethod(TransparentAuthentication::Auth_HTTPBasicAuth_Plaintext);
$this->assertEquals(array(TransparentAuthentication::Auth_HTTPBasicAuth_Plaintext), ReflectionHelper::getValue($this->auth, 'authenticationMethods'));
// Try adding a non-existent method
$this->auth->addAuthenticationMethod(TransparentAuthentication::Auth_HTTPBasicAuth_TOTP);
$this->assertEquals(array(TransparentAuthentication::Auth_HTTPBasicAuth_Plaintext, TransparentAuthentication::Auth_HTTPBasicAuth_TOTP), ReflectionHelper::getValue($this->auth, 'authenticationMethods'));
// Try adding an existing method again
$this->auth->addAuthenticationMethod(TransparentAuthentication::Auth_HTTPBasicAuth_Plaintext);
$this->assertEquals(array(TransparentAuthentication::Auth_HTTPBasicAuth_Plaintext, TransparentAuthentication::Auth_HTTPBasicAuth_TOTP), ReflectionHelper::getValue($this->auth, 'authenticationMethods'));
}