Gajus\Vlad\Test::assess PHP Méthode

assess() public méthode

public assess ( array $source ) : array
$source array
Résultat array Errors.
    public function assess(array $source)
    {
        $input = new \Gajus\Vlad\Input($source);
        $errors = [];
        foreach ($this->test as $selector_name => $assertions) {
            $selector = new \Gajus\Vlad\Selector($selector_name);
            $value = $input->getValue($selector);
            foreach ($assertions as $assertion) {
                $assertion = $assertion->assess($value);
                if ($assertion) {
                    if (isset($assertion['options']['message'])) {
                        $errors[$selector_name] = $assertion['options']['message'];
                    } else {
                        $errors[$selector_name] = $this->translator->translateMessage($assertion['validator'], $selector);
                    }
                    break;
                }
            }
        }
        return array_values($errors);
    }

Usage Example

Exemple #1
0
 /**
  * @depends testBuildTest
  */
 public function testAssessFailingTest(\Gajus\Vlad\Test $test)
 {
     $test->assert('foo')->is('String');
     $assessment = $test->assess(['foo' => new \stdClass()]);
     $this->assertCount(1, $assessment);
     $this->assertSame('Foo is not a string.', $assessment[0]);
 }