public function testArguments()
{
$f = FunctionGenerator::factory('newFunction');
$f->addArgument('testVar', 123, 'int');
$f->addParameter('oneMoreTestVar', 789, 'int');
$f->addArguments(array(array('name' => 'anotherTestVar', 'value' => 456, 'type' => 'int')));
$f->addParameters(array(array('name' => 'yetAnotherTestVar', 'value' => 987, 'type' => 'int')));
$this->assertTrue(is_array($f->getArguments()));
$this->assertTrue(is_array($f->getParameters()));
$arg = $f->getArgument('testVar');
$par = $f->getParameter('oneMoreTestVar');
$this->assertEquals(123, $arg['value']);
$this->assertEquals(789, $par['value']);
$params = $f->getParameterNames();
$args = $f->getArgumentNames();
$this->assertEquals('testVar', $params[0]);
$this->assertEquals('testVar', $args[0]);
}