/** * @dataProvider datesProvider */ public function testDateValidation($start, $end, $pass, $expected_errors) { $worklist = new Worklist(); $worklist->setAttributes(array('start' => $start, 'end' => $end)); $res = $worklist->validate(array('start', 'end')); $this->assertEquals($pass, $res); $wl_errors = $worklist->getErrors(); if ($expected_errors) { foreach ($expected_errors as $fld => $errors) { $this->assertTrue(array_key_exists($fld, $wl_errors)); foreach ($errors as $error) { $this->assertTrue(in_array($error, $wl_errors[$fld])); } } } else { $this->assertTrue(empty($wl_errors)); } }