public function testSetPhpMethodFactory() { $this->if($generator = new testedClass())->then->object($generator->setPhpMethodFactory($factory = function () { }))->isIdenticalTo($generator)->object($generator->getPhpMethodFactory())->isIdenticalTo($factory)->object($generator->setPhpMethodFactory())->isIdenticalTo($generator)->object($defaultPhpMethodFactory = $generator->getPhpMethodFactory())->isInstanceOf('closure')->isNotIdenticalTo($factory)->object($defaultPhpMethodFactory($method = uniqid()))->isEqualTo(new mock\php\method($method)); }