public function printAll(Mockster $mockster) { $class = (new \ReflectionClass($mockster->mock()))->getParentClass(); $all = []; foreach ($class->getMethods(\ReflectionMethod::IS_PUBLIC) as $method) { $arguments = array_map(function () { return Argument::any(); }, $method->getParameters()); $calls = $mockster->__call($method->getName(), $arguments)->has()->calls(); if ($calls) { $all[] = $this->printCalls($method->getName(), $calls); } } return "History of [{$class->getName()}]\n " . implode("\n ", $all); }