public function testImmutableFactories()
{
$id = 'Nelmio\\Entity\\User#user0#username';
$value = new \stdClass();
$newValue = new \stdClass();
$newValue->foo = 'bar';
$original = new UniqueValue($id, $value);
$clone = $original->withValue($newValue);
$this->assertInstanceOf(UniqueValue::class, $clone);
$this->assertEquals($id, $original->getId());
$this->assertEquals($id, $clone->getId());
$this->assertEquals($value, $original->getValue());
$this->assertEquals($newValue, $clone->getValue());
}