コード例 #1
0
ファイル: EntityBuilderTest.php プロジェクト: pscheit/psc-cms
    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());
    }