/** * Tests Validation::check() * * @test * @covers Validation::check * @covers Validation::rule * @covers Validation::rules * @covers Validation::errors * @covers Validation::error * @dataProvider provider_check * @param array $array The array of data * @param array $rules The array of rules * @param array $labels The array of labels * @param boolean $expected Is it valid? * @param boolean $expected_errors Array of expected errors */ public function test_check($array, $rules, $labels, $expected, $expected_errors) { $validation = new Validation($array); foreach ($labels as $field => $label) { $validation->label($field, $label); } foreach ($rules as $field => $field_rules) { foreach ($field_rules as $rule) { $validation->rule($field, $rule[0], $rule[1]); } } $status = $validation->check(); $errors = $validation->errors(TRUE); $this->assertSame($expected, $status); $this->assertSame($expected_errors, $errors); $validation = new validation($array); foreach ($rules as $field => $rules) { $validation->rules($field, $rules); } $validation->labels($labels); $this->assertSame($expected, $validation->check()); }