public function run(\Overwatch\TestBundle\Entity\Test $test)
 {
     $testResult = new TestResult();
     $testResult->setTest($test);
     try {
         $result = $this->get($test->getExpectation())->run($test->getActual(), $test->getExpected());
         $testResult->setStatus(ResultStatus::PASSED);
         $testResult->setInfo($result);
     } catch (\Exception $ex) {
         $result = $ex;
         $testResult->setInfo($ex->getMessage());
     }
     if ($result instanceof ExpectationException\ExpectationFailedException) {
         $testResult->setStatus(ResultStatus::FAILED);
     } else {
         if ($result instanceof ExpectationException\ExpectationUnsatisfactoryException) {
             $testResult->setStatus(ResultStatus::UNSATISFACTORY);
         } else {
             if ($result instanceof \Exception) {
                 $testResult->setStatus(ResultStatus::ERROR);
             }
         }
     }
     return $testResult;
 }