public function testReadAccessorsReturnPropertiesValues()
{
$quantifier = 50;
$firstMember = 'first';
$secondMember = 'second';
$value = new OptionalValue($quantifier, $firstMember, $secondMember);
$this->assertEquals($quantifier, $value->getQuantifier());
$this->assertEquals($firstMember, $value->getFirstMember());
$this->assertEquals($secondMember, $value->getSecondMember());
$this->assertEquals([$quantifier, $firstMember, $secondMember], $value->getValue());
$quantifier = new FakeValue();
$firstMember = new FakeValue();
$secondMember = new FakeValue();
$value = new OptionalValue($quantifier, $firstMember, $secondMember);
$this->assertEquals($quantifier, $value->getQuantifier());
$this->assertEquals($firstMember, $value->getFirstMember());
$this->assertEquals($secondMember, $value->getSecondMember());
$this->assertEquals([$quantifier, $firstMember, $secondMember], $value->getValue());
$quantifier = '100';
$firstMember = new FakeValue();
$secondMember = null;
$value = new OptionalValue($quantifier, $firstMember, $secondMember);
$this->assertEquals(100, $value->getQuantifier());
$this->assertEquals($firstMember, $value->getFirstMember());
$this->assertEquals($secondMember, $value->getSecondMember());
$this->assertEquals([$quantifier, $firstMember, $secondMember], $value->getValue());
}