/**
  * Add errors from a validation object
  * 
  * @param ValidationResult $validation
  * @param string           $prefix
  */
 public function add(ValidationResult $validation, $prefix = null)
 {
     $prefix = $this->translate($prefix);
     foreach ($validation->getErrors() as $err) {
         $this->errors[] = ($prefix ? trim($prefix) . ' ' : '') . $err;
     }
 }
 public function testTranslatePrefix()
 {
     $translator = $this->getMockBuilder('stdClass')->setMethods(array('translate'))->getMock();
     $translator->expects($this->exactly(2))->method('translate')->withConsecutive([$this->equalTo('Color %s')], [$this->equalTo('error')])->will($this->onConsecutiveCalls('Colour %s', 'fault'));
     ValidationResult::$translate = [$translator, 'translate'];
     $error = new ValidationResult();
     $error->addError("Color %s", "red");
     $validation = new ValidationResult();
     $validation->add($error, "error");
     $this->assertEquals(["fault Colour red"], $validation->getErrors());
 }