public function testBuildMetaSetter() { $builder = new EntityBuilder('Person', $this->module); $builder->createDefaultId(); $builder->createProperty('email', $this->createType('Email')); $builder->createProperty('name', $this->createType('String')); $builder->createProperty('firstName', $this->createType('String')); $builder->createProperty('birthday', $this->createType('DateTime')); $builder->buildSetMetaGetter(); $class = $builder->getGClass(); $this->assertTrue($class->hasMethod('getSetMeta')); $metaGet = $class->getMethod('getSetMeta'); //attention: fragile test here $metaGetPHP = <<<'PHP' public static function getSetMeta() { return new \Psc\Data\SetMeta(array( 'id' => new \Webforge\Types\IdType(), 'email' => new \Webforge\Types\EmailType(), 'name' => new \Webforge\Types\StringType(), 'firstName' => new \Webforge\Types\StringType(), 'birthday' => new \Webforge\Types\DateTimeType(), )); } PHP; $this->assertEquals($metaGetPHP, $metaGet->php()); }