protected function additionalFailureDescription($className) { $description = "\n"; $reflection = new ReflectionClass($className); foreach ($this->getVariableNames() as $name) { $description .= sprintf("%s\n", $this->makeVariableSelector($this->selector, $name)); $found = false; $location = null; $methodName = null; if ($reflection->hasPublicProperty($name)) { $found = true; $location = $this->makePropertySignature($reflection, $name); } elseif ($reflection->hasPublicMethod($name)) { $found = true; $location = $this->makeMethodSignature($reflection, $name); } elseif ($reflection->hasPublicGetterMethod($name)) { $found = true; $location = $this->makeMethodSignature($reflection, $reflection->getGetterMethodName($name)); } elseif ($reflection->hasPublicTestMethod($name)) { $found = true; $location = $this->makeMethodSignature($reflection, $reflection->getTestMethodName($name)); } if ($found) { $description .= sprintf(" FOUND: %s\n", $location); } else { $description .= " NOT FOUND\n"; } } return $description; }