public function addToAssertionManager(test\assertion\manager $assertionManager, $factoryName, $defaultHandler) { if ($this->factory === null) { $assertionManager->setHandler($factoryName, $defaultHandler); } else { $assertionManager->setMethodHandler($factoryName, $this->factory)->setPropertyHandler($factoryName, $this->allArgumentsAreOptional === false ? $defaultHandler : $this->factory); } return $this; }
public function testSetMethodHandler() { $this->if($assertionManager = new testedClass())->then->object($assertionManager->setMethodHandler($event = uniqid(), $handler = function () { }))->isIdenticalTo($assertionManager)->array($assertionManager->getHandlers())->isEqualTo(array($event => array($handler, testedClass::methodHandler)))->object($assertionManager->setMethodHandler($event, $otherHandler = function () { }))->isIdenticalTo($assertionManager)->array($assertionManager->getHandlers())->isEqualTo(array($event => array($otherHandler, testedClass::methodHandler)))->object($assertionManager->setMethodHandler($otherEvent = uniqid(), $handler))->isIdenticalTo($assertionManager)->array($assertionManager->getHandlers())->isEqualTo(array($event => array($otherHandler, testedClass::methodHandler), $otherEvent => array($handler, testedClass::methodHandler))); }