bindTo($this->getTestSubject()); return new Result(call_user_func_array($test, $params)); } public function getTestSubject() { return $this->testSubject; } public function setTestSubject($subject) { $this->testSubject = $subject; return $this; } } class Result extends AssertWrapper { public function __construct($result) { $this->result = $result; } public function shouldReturn($value) { $this->assert(array('Equals', $this->result, $value)); } }