/** * unticked_class_declaration_statement_2 * interface_entry T_STRING interface_extends_list '{' class_statement_list '}' */ protected function unticked_class_declaration_statement_2($params) { $className = $params[1]->getValue(); $class = new Stagehand_PHP_Class($className); $class->defineInterface(); if ($params[2] && is_array($params[2])) { foreach ($params[2] as $interface) { $class->addInterface($interface); } } $this->_declarClass($class); return parent::execute(__FUNCTION__, $params); }
/** * @test */ public function accessInterfaceAndUpdate() { $className = 'ExampleForInterfaceUpdate'; $class = new Stagehand_PHP_Class($className); $interface1 = new Stagehand_PHP_Class('ExampleForInterfaceUpdateInterface1'); $interface1->defineInterface(); $class->addInterface($interface1); $this->assertSame($class->getInterface('ExampleForInterfaceUpdateInterface1'), $interface1); $interface2 = new Stagehand_PHP_Class('ExampleForInterfaceUpdateInterface1'); $interface2->defineInterface(); $class->setInterface($interface2); $this->assertSame($class->getInterface('ExampleForInterfaceUpdateInterface1'), $interface2); }