From 3d941dbae2520a4b0f0aad590f3d55afb76d1e0a Mon Sep 17 00:00:00 2001 From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz> Date: Sat, 15 Apr 2017 21:12:33 +0200 Subject: [PATCH] normalise Automaton types after normalisation algo --- alib2algo/src/automaton/simplify/Normalize.cpp | 4 +++- .../automaton/transform/AutomataConcatenationTest.cpp | 2 ++ alib2algo/test-src/automaton/transform/AutomataUnionTest.cpp | 2 ++ .../test-src/automaton/transform/AutomatonIterationTest.cpp | 2 ++ 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/alib2algo/src/automaton/simplify/Normalize.cpp b/alib2algo/src/automaton/simplify/Normalize.cpp index 8224a3daf0..3701f1a3ae 100644 --- a/alib2algo/src/automaton/simplify/Normalize.cpp +++ b/alib2algo/src/automaton/simplify/Normalize.cpp @@ -12,7 +12,9 @@ namespace automaton { namespace simplify { 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); diff --git a/alib2algo/test-src/automaton/transform/AutomataConcatenationTest.cpp b/alib2algo/test-src/automaton/transform/AutomataConcatenationTest.cpp index a49ae21255..303b9ed685 100644 --- a/alib2algo/test-src/automaton/transform/AutomataConcatenationTest.cpp +++ b/alib2algo/test-src/automaton/transform/AutomataConcatenationTest.cpp @@ -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 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(umdfa12 == umdfa); CPPUNIT_ASSERT(umdfa21 == umdfa); diff --git a/alib2algo/test-src/automaton/transform/AutomataUnionTest.cpp b/alib2algo/test-src/automaton/transform/AutomataUnionTest.cpp index 7eb0e5af85..fde2c405be 100644 --- a/alib2algo/test-src/automaton/transform/AutomataUnionTest.cpp +++ b/alib2algo/test-src/automaton/transform/AutomataUnionTest.cpp @@ -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 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(umdfa2 == umdfa); diff --git a/alib2algo/test-src/automaton/transform/AutomatonIterationTest.cpp b/alib2algo/test-src/automaton/transform/AutomatonIterationTest.cpp index 27e2dfdaf4..bb795ce2d6 100644 --- a/alib2algo/test-src/automaton/transform/AutomatonIterationTest.cpp +++ b/alib2algo/test-src/automaton/transform/AutomatonIterationTest.cpp @@ -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 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 == mdfa3); } -- GitLab