pd_alg_first_test.h
Go to the documentation of this file.
1 /** @file pd_alg_first_test.h Unit Tests */
2 
3 
4 /* Pushdown plugin for FAU Discrete Event Systems Library (libfaudes)
5 
6  Copyright (C) 2013 Stefan Jacobi, Sven Schneider, Anne-Kathrin Hess
7 
8 */
9 
10 #ifndef FAUDES_PD_ALG_FIRST_TEST_H
11 #define FAUDES_PD_ALG_FIRST_TEST_H
12 
13 #include "corefaudes.h"
14 #include "pd_include.h"
15 #include "pd_test_util.h"
16 
17 namespace faudes {
18 
19 
20 /**
21  * Test all postfixes of a given word.
22  */
23 void TestPostClPostfixes();
24 
25 /**
26  * Test if Fds returns all expected words.
27  */
28 void TestFdsWords();
29 
30 /**
31  * Test if the mapping function produced by FirstL is correct.
32  */
33 void TestFirstLMap();
34 
35 /**
36  * Test for some selected word if the correct set of terminals is returned.
37  */
39 
40 /**
41  * Test for some selected word if the correct set of terminals is returned.
42  */
44 
45 /**
46  * Test FirstRed with a consistent word as input
47  */
49 
50 /**
51  * Test FirstRed with an inconsistent word as input
52  */
54 
55 /**
56  * Filter a nonterminal from a vector of terminals and nonterminals.
57  */
59 
60 /**
61  * filter from an empty word
62  */
63 void TestFilter1Nothing();
64 
65 /**
66  * Test with only Terminals as input
67  */
69 
70 /**
71  * Test with Nonterminals and a reducible word as input
72  */
74 
75 /**
76  * Test with Nonterminals and an irreducible word as input
77  */
79 
80 /**
81  * Test with k = 0 and a word that results in an empty first set
82  */
84 
85 /**
86  * Test with k = 0 and a word that results in a nonempty first set
87  */
89 
90 /**
91  * Test with k = 1 and a word that results in a nonempty first set
92  */
94 
95 /**
96  * Test with k = 2 and a word that results in a nonempty first set
97  */
99 
100 /**
101  * All PostCl tests
102  */
103 void TestPostCl();
104 
105 /**
106  * All Fds tests
107  */
108 void TestFds();
109 
110 /**
111  * All FirstL tests. Includes testing of First1, because First1 needs to be called
112  * recursively in order to be tested correctly. FirstL does nothing else than calling
113  * First1 recursively.
114  */
115 void TestFirstL();
116 
117 /**
118  * All FirstA tests
119  */
120 void TestFirstA();
121 
122 /**
123  * All First tests
124  */
125 void TestFirst();
126 
127 /**
128  * All FirstRed tests
129  */
130 void TestFirstRed();
131 
132 /**
133  * All Filter1 tests
134  */
135 void TestFilter1();
136 
137 /**
138  * All FirstAll tests
139  */
140 void TestFirstAll();
141 
142 /**
143  * All FirstLeq1 tests
144  */
145 void TestFirstLeq1();
146 
147 } // namespace faudes
148 
149 #endif

libFAUDES 2.26g --- 2015.08.17 --- c++ api documentaion by doxygen