/** * @test */ public function isValidIfExtraItemsPresentAndValidate() { $validator = new Type(); $validator->value = 'number'; $this->validator->setSpecification(['items' => [$validator, new NotEmpty()], 'additionalItems' => $validator]); $this->assertTrue($this->validator->validate([2.3, '', 0])); }
/** * @test */ public function failWithPatternPropertiesAndPropertiesWithInvalidValuesAndExtraParamsValidated() { $validator = new Type(); $validator->value = 'number'; $this->validator->setSpecification(['patternProperties' => ['/a/' => $validator], 'properties' => ['otherLetters' => $validator], 'additionalProperties' => $validator]); $this->assertFalse($this->validator->validate(['a' => 1, 'hasAnA' => 2, 'otherLetters' => 3.4, 'plus' => 'fail'])); }
/** * @test */ public function isNotValidIfItemMissingInObject() { $obj = new \stdClass(); $obj->a = 1; $obj->c = 3; $this->validator->setSpecification(['a', 'b']); $this->assertFalse($this->validator->validate($obj)); }
/** * @test * @expectedException \Mcustiel\SimpleRequest\Exception\UnspecifiedValidatorException * @expectedExceptionMessage The validator is being initialized without an array */ public function failWithNoIterableSpecification() { $this->validator->setSpecification('No iterable'); }