Skip to content
Snippets Groups Projects
Commit 3d941dba authored by Jan Trávníček's avatar Jan Trávníček
Browse files

normalise Automaton types after normalisation algo

parent 55b7c2c6
No related branches found
No related tags found
No related merge requests found
Pipeline #
...@@ -12,7 +12,9 @@ namespace automaton { ...@@ -12,7 +12,9 @@ namespace automaton {
namespace simplify { namespace simplify {
   
automaton::Automaton Normalize::normalize(const automaton::Automaton& automaton) { automaton::Automaton Normalize::normalize(const automaton::Automaton& automaton) {
return dispatch(automaton.getData()); automaton::Automaton res = dispatch(automaton.getData());
res.normalize ( );
return res;
} }
   
auto NormalizeDFA = Normalize::RegistratorWrapper<automaton::DFA < DefaultSymbolType, unsigned >, automaton::DFA < > >(Normalize::normalize); auto NormalizeDFA = Normalize::RegistratorWrapper<automaton::DFA < DefaultSymbolType, unsigned >, automaton::DFA < > >(Normalize::normalize);
......
...@@ -81,6 +81,8 @@ void AutomataConcatenationTest::testAutomataConcatenation() { ...@@ -81,6 +81,8 @@ void AutomataConcatenationTest::testAutomataConcatenation() {
automaton::Automaton umdfa21(automaton::simplify::Normalize::normalize(automaton::simplify::Trim::trim(automaton::simplify::MinimizeBrzozowski::minimize(automaton::simplify::EpsilonRemoverIncoming::remove(u21))))); automaton::Automaton umdfa21(automaton::simplify::Normalize::normalize(automaton::simplify::Trim::trim(automaton::simplify::MinimizeBrzozowski::minimize(automaton::simplify::EpsilonRemoverIncoming::remove(u21)))));
automaton::Automaton umdfa22(automaton::simplify::Normalize::normalize(automaton::simplify::Trim::trim(automaton::simplify::MinimizeBrzozowski::minimize(automaton::simplify::EpsilonRemoverIncoming::remove(u22))))); automaton::Automaton umdfa22(automaton::simplify::Normalize::normalize(automaton::simplify::Trim::trim(automaton::simplify::MinimizeBrzozowski::minimize(automaton::simplify::EpsilonRemoverIncoming::remove(u22)))));
   
umdfa.normalize ( );
CPPUNIT_ASSERT(umdfa11 == umdfa); CPPUNIT_ASSERT(umdfa11 == umdfa);
CPPUNIT_ASSERT(umdfa12 == umdfa); CPPUNIT_ASSERT(umdfa12 == umdfa);
CPPUNIT_ASSERT(umdfa21 == umdfa); CPPUNIT_ASSERT(umdfa21 == umdfa);
......
...@@ -77,6 +77,8 @@ void AutomataUnionTest::testAutomataUnion() { ...@@ -77,6 +77,8 @@ void AutomataUnionTest::testAutomataUnion() {
automaton::Automaton umdfa1(automaton::simplify::Normalize::normalize(automaton::simplify::Trim::trim(automaton::simplify::MinimizeBrzozowski::minimize(automaton::simplify::EpsilonRemoverIncoming::remove(u1))))); automaton::Automaton umdfa1(automaton::simplify::Normalize::normalize(automaton::simplify::Trim::trim(automaton::simplify::MinimizeBrzozowski::minimize(automaton::simplify::EpsilonRemoverIncoming::remove(u1)))));
automaton::Automaton umdfa2(automaton::simplify::Normalize::normalize(automaton::simplify::Trim::trim(automaton::simplify::MinimizeBrzozowski::minimize(automaton::simplify::EpsilonRemoverIncoming::remove(u2))))); automaton::Automaton umdfa2(automaton::simplify::Normalize::normalize(automaton::simplify::Trim::trim(automaton::simplify::MinimizeBrzozowski::minimize(automaton::simplify::EpsilonRemoverIncoming::remove(u2)))));
   
umdfa.normalize ( );
CPPUNIT_ASSERT(umdfa1 == umdfa); CPPUNIT_ASSERT(umdfa1 == umdfa);
CPPUNIT_ASSERT(umdfa2 == umdfa); CPPUNIT_ASSERT(umdfa2 == umdfa);
   
......
...@@ -59,6 +59,8 @@ void AutomatonIterationTest::testAutomatonIteration() { ...@@ -59,6 +59,8 @@ void AutomatonIterationTest::testAutomatonIteration() {
automaton::Automaton mdfa2 (automaton::simplify::Normalize::normalize(automaton::simplify::Trim::trim(automaton::simplify::MinimizeBrzozowski::minimize(automaton::simplify::EpsilonRemoverIncoming::remove(i2))))); automaton::Automaton mdfa2 (automaton::simplify::Normalize::normalize(automaton::simplify::Trim::trim(automaton::simplify::MinimizeBrzozowski::minimize(automaton::simplify::EpsilonRemoverIncoming::remove(i2)))));
automaton::Automaton mdfa3 (automaton::simplify::Normalize::normalize(automaton::simplify::Trim::trim(automaton::simplify::MinimizeBrzozowski::minimize(automaton::simplify::EpsilonRemoverIncoming::remove(res))))); automaton::Automaton mdfa3 (automaton::simplify::Normalize::normalize(automaton::simplify::Trim::trim(automaton::simplify::MinimizeBrzozowski::minimize(automaton::simplify::EpsilonRemoverIncoming::remove(res)))));
   
mdfa3.normalize ( );
CPPUNIT_ASSERT(mdfa1 == mdfa2); CPPUNIT_ASSERT(mdfa1 == mdfa2);
CPPUNIT_ASSERT(mdfa1 == mdfa3); CPPUNIT_ASSERT(mdfa1 == mdfa3);
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment