/** * @depends testParse * @dataProvider rulesProvider */ public function testAddRule($rule, $expected, $error) { $advisor = new Advisor(); $parseResult = $advisor->parseRulesFile(); $this->assertEquals($parseResult['errors'], array()); $advisor->variables['value'] = 0; $advisor->addRule('fired', $rule); if (isset($advisor->runResult['errors']) || !is_null($error)) { $this->assertEquals($advisor->runResult['errors'], array($error)); } if (isset($advisor->runResult['fired']) || $expected != array()) { $this->assertEquals($advisor->runResult['fired'], array($expected)); } }