pd_alg_lrp_test.hGo 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 |