pd_alg_lrp_test.h

Go to the documentation of this file.
00001 /** @file pd_alg_lrp_test.h  Unit Tests */
00002 
00003 
00004 /* Pushdown plugin for FAU Discrete Event Systems Library (libfaudes)
00005 
00006    Copyright (C) 2013  Stefan Jacobi, Sven Schneider, Anne-Kathrin Hess
00007 
00008 */
00009 
00010 #ifndef FAUDES_PD_ALG_LRP_TEST_H
00011 #define FAUDES_PD_ALG_LRP_TEST_H
00012 
00013 #include "corefaudes.h"
00014 #include "pd_include.h"
00015 #include "pd_test_util.h"
00016 
00017 namespace faudes {
00018 
00019 /**
00020  * Test if GeneratorGoto finds the right successor.
00021  */
00022 void TestGeneratorGotoOneSuccessor();
00023 
00024 /**
00025  * Test if GeneratorGoto finds no successor when none is to be found.
00026  */
00027 void TestGeneratorGotoNoSuccessor();
00028 
00029 /**
00030  * Test if a word fully matches a sequence of states when a match is possible
00031  */
00032 void TestGeneratorGotoSeqFull();
00033 
00034 /**
00035  * Test if a partial state sequence is generated when no full match for the word
00036  * is possible.
00037  */
00038 void TestGeneratorGotoSeqPartial();
00039 
00040 /**
00041  * Test if the number of shift rules is correct and test for the correct number of 
00042  * occurences of terminals and each action's left-hand side element's right-hand side.
00043  */
00044 void TestLrpShiftRulesNumberAndTerminals();
00045 
00046 /**
00047  * Test if the number of reduce rules is correct and test for the correct number of 
00048  * occurences of terminals and each action element's right-hand side.
00049  */
00050 void TestLrpReduceRulesNumberAndTerminals();
00051 
00052 /**
00053  * Test if Lrp generates a parser with the correct rules.
00054  */
00055 void TestLrpActions();
00056 
00057 
00058 /**
00059  * Test if Lrp generates a parser with the correct number of nonterminals and terminals
00060  * for a certain grammar
00061  */
00062 void TestLrpNonterminalsTerminals();
00063 
00064 /**
00065  * Test if all states are set correctly and whether the correct ones are used in
00066  * transitions.
00067  */
00068 void TestGp2PpStates();
00069 
00070 /**
00071  * Test if the number of transitions is correct and test if the number of transitions
00072  * per event is as expected.
00073  */
00074 void TestGp2PpTransitions();
00075 
00076 /**
00077  * Test if the augment symbol transitions were successfully removed from the generator
00078  * and the new number of transitions is correct.
00079  */
00080 void TestDimNoAugment();
00081 
00082 /**
00083  * Test if final states are set correctly after the removal auf the augment symbol
00084  */
00085 void TestDimNewFinalStates();
00086   
00087 /**
00088  * All GeneratorGoto Tests
00089  */
00090 void TestGeneratorGoto();
00091 
00092 /**
00093  * All GeneratorGotoSeq Tests
00094  */
00095 void TestGeneratorGotoSeq();
00096 
00097 /**
00098  * All LrpShiftRules Tests
00099  */
00100 void TestLrpShiftRules();
00101 
00102 /**
00103  * All LrpReduceRules Tests
00104  */
00105 void TestLrpReduceRules();
00106 
00107 /**
00108  * All Lrp Tests
00109  */
00110 void TestLrp();
00111 
00112 /**
00113  * All Gp2Pp Tests
00114  */
00115 void TestGp2Pp();
00116 
00117 /**
00118  * All Dim Tests
00119  */
00120 void TestDim();
00121 
00122 } // namespace faudes
00123 
00124 #endif

libFAUDES 2.23h --- 2014.04.03 --- c++ api documentaion by doxygen