function _fail($method, $args, $result, $expectedResult, $values) { if (empty($values)) { $format = 'expected %s to ' . str_replace('_', ' ', $method); $values = array($this->actual); if (!empty($args)) { $format .= ' %s'; $values[] = $args[0]; } } else { $format = array_shift($values); } if (!empty($values)) { array_walk($values, function (&$v) { $v = Expect::_export($v); }); $message = vsprintf($format, $values); } else { $message = $format; } $this->spec->fail(new \Exception($message)); }