public function testFullParameters()
{
/** @var $function Functions\ElementProjection */
$function = $this->buildFunction('', null, null, [], [O\Expression::parameter('value'), O\Expression::parameter('key')]);
$this->assertSame(true, $function->getParameters()->hasValue());
$this->assertSame('value', $function->getParameters()->getValue()->getName());
$this->assertSame(true, $function->getParameters()->hasKey());
$this->assertSame('key', $function->getParameters()->getKey()->getName());
$this->assertSame(false, $function->getParameters()->hasRequiredUnusedParameters());
$this->assertSame([], $function->getParameters()->getRequiredUnusedParameters());
$this->assertSame([], $function->getParameters()->getUnused());
$this->assertSame([], $function->getParameters()->getUnusedParameterDefaultMap());
}