/** * @test */ public function setModelTypeResetsIdentityPropertiesAndAggregateRootForValueObjects() { $classSchema = new ClassSchema('SomeClass'); $classSchema->setModelType(ClassSchema::MODELTYPE_ENTITY); $classSchema->addProperty('foo', 'string'); $classSchema->addProperty('bar', 'string'); $classSchema->markAsIdentityProperty('bar'); $classSchema->setRepositoryClassName('Some\\Repository'); $this->assertSame(['bar' => 'string'], $classSchema->getIdentityProperties()); $classSchema->setModelType(ClassSchema::MODELTYPE_VALUEOBJECT); $this->assertSame([], $classSchema->getIdentityProperties()); $this->assertFalse($classSchema->isAggregateRoot()); }