public function testIsImmutable()
{
$quantifier = new MutableValue('q0');
$elementValue = new MutableValue('e0');
$value = new DynamicArrayValue($quantifier, $elementValue);
// Mutate injected values
$quantifier->setValue('q1');
$elementValue->setValue('e1');
// Mutate returned values
$value->getQuantifier()->setValue('q2');
$value->getElement()->setValue('e2');
$this->assertEquals(new MutableValue('q0'), $value->getQuantifier());
$this->assertEquals(new MutableValue('e0'), $value->getElement());
$this->assertEquals([new MutableValue('q0'), new MutableValue('e0')], $value->getValue());
}