/** * @param string|null $typename */ public static function setDefaultTypename($typename) { if (null !== $typename && !is_string($typename)) { $message = 'Invalid type for $typename: ' . Robo47_Core::getType($typename); throw new Robo47_Doctrine_Hydrator_Exception($message); } self::$_typename = $typename; }
/** * @covers Robo47_Doctrine_Hydrator_PopoDriver::setDefaultContainerClassname * @covers Robo47_Doctrine_Hydrator_Exception */ public function testsetDefaultContainerClassnameThrowsExceptionWithClassWhichNotImplementsArrayAccess() { $classname = 'stdClass'; try { Robo47_Doctrine_Hydrator_PopoDriver::setDefaultContainerClassname($classname); $this->fail('No Exception thrown'); } catch (Robo47_Doctrine_Hydrator_Exception $e) { $this->assertEquals('Type does not implement ArrayAccess: ' . Robo47_Core::getType(new stdClass()), $e->getMessage(), 'Wrong Exception message'); } }