/** * @dataProvider getAutomatons */ public function testVisitAutomaton(array $sequences, array $ranks) { $visitor = new slAutomatonSupportVisitor(); $automaton = new slSingleOccurenceAutomaton(); foreach ($sequences as $sequence) { $automaton->learn($sequence); } $result = $visitor->visit($automaton, array()); $this->assertEquals($ranks, $result, 'Ranks are not as expected', 0.001); }
/** * @dataProvider getAutomatons */ public function testVisitAutomaton(array $sequences, array $labels, $name) { $visitor = new slAutomatonDotVisitor(); $automaton = new slSingleOccurenceAutomaton(); foreach ($sequences as $sequence) { $automaton->learn($sequence); } $result = $visitor->visit($automaton, $labels); // Read expectation from file, if available if (!is_file($file = __DIR__ . '/data/' . $name . '.dot')) { $this->MarkTestSkipped("No comparision file available; Generated result:\n" . $result); } $this->assertEquals(file_get_contents($file), $result); }
public function testLearnAll() { $automaton = new slSingleOccurenceAutomaton(); $automaton->learn(array('a', 'b', 'c')); $automaton->learn(array('a', 'c', 'b')); $automaton->learn(array('b', 'a', 'c')); $automaton->learn(array('b', 'c', 'a')); $automaton->learn(array('c', 'a', 'b')); $automaton->learn(array('c', 'b', 'a')); $converter = new slSoreConverter(); $regexp = $converter->convertAutomaton($automaton); $this->assertEquals(false, $regexp); }