/**
* Tests the setter and getter methods.
*/
public function testSettersAndGetters()
{
$context = new ContaoContext('foo');
$this->assertEquals('foo', $context->getFunc());
$this->assertNull($context->getAction());
$this->assertNull($context->getUsername());
$this->assertNull($context->getIp());
$this->assertNull($context->getBrowser());
$this->assertNull($context->getSource());
$context->setAction('action');
$context->setUsername('username');
$context->setIp('1.2.3.4');
$context->setBrowser('Mozilla');
$context->setSource('Foo::bar()');
$this->assertEquals(json_encode(['func' => 'foo', 'action' => 'action', 'username' => 'username', 'ip' => '1.2.3.4', 'browser' => 'Mozilla']), (string) $context);
}