About
User Reference
C++ API
luafaudes
Developer
Links
libFAUDES online
libFAUDES
C++ API
Sections
Sets
Generators
Functions
PlugIns
Tutorials
Index
Classes
Files
pd_alg_sub_test.h
Go to the documentation of this file.
1
/** @file pd_alg_nb_sub_a_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_NB_SUB_A_TEST_H
11
#define FAUDES_PD_ALG_NB_SUB_A_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 if all states were renamed correctly (merge attribute is set correctly).
22
*/
23
void
TestRenameStatesRenaming
();
24
25
/**
26
* Test if the number of states did not change.
27
*/
28
void
TestRenameStatesNumberOfStates
();
29
30
/**
31
* Test if all stack symbols were renamed correctly
32
*/
33
void
TestRenameStackSymbolsRenamingStackSymbols
();
34
35
/**
36
* Test if the number of stack symbols did not change.
37
*/
38
void
TestRenameStackSymbolsNumberOfStackSymbols
();
39
40
/**
41
* Test if the stack symbols in pop and push of transitions were changed correctly
42
*/
43
void
TestRenameStackSymbolsRenamingTransitions
();
44
45
/**
46
* Tests if there are any lambda popping edges left
47
*/
48
void
TestRep0NoLambdaPop
();
49
50
/**
51
* Test if resulting generator has a transition able to pop all stack symbols,
52
* but only if the orignal generator had at least one lambda transition
53
*/
54
void
TestRep0AllExpectingTransition
();
55
56
/**
57
* Test for the right number of transitions and states in the generator after
58
* applying Rep2
59
*/
60
void
TestRemoveMulPopNumberOfStatesTransitions
();
61
62
63
/**
64
* Test if all transitions are either read only, pop only or push only
65
*/
66
void
TestSPDAReadPopPushOnly
();
67
68
/**
69
* Test if the number of transitions and states is correct after calling Rpp
70
*/
71
void
TestSPDANumberStatesTransitions
();
72
73
/**
74
* Test if the states are split into active and passive states and if the number of
75
* states has been doubled.
76
*/
77
void
TestNdaActivePassive
();
78
79
/**
80
* Test if transition start and end states are set as expected
81
*/
82
void
TestNdaTransitions
();
83
84
/**
85
* All AnnotatePdStates Tests
86
*/
87
void
TestAnnotatePdStates
();
88
89
/**
90
* All RenG tests.
91
*/
92
void
TestRenameStackSymbols
();
93
94
/**
95
* All RemoveLambdaPop tests
96
*/
97
void
TestRemoveLambdaPop
();
98
99
/**
100
* All SPDA tests
101
*/
102
void
TestSPDA
();
103
104
/**
105
* All RemoveMultPop tests
106
*/
107
void
TestRemoveMultPop
();
108
109
/**
110
* All Nda tests
111
*/
112
void
TestNda
();
113
114
115
/**
116
* Filter a nonterminal from a vector of terminals and nonterminals.
117
*/
118
void
TestFilterMixedGrammarSymbols
();
119
120
/**
121
* filter from an empty word
122
*/
123
void
TestFilterNothing
();
124
125
/**
126
* Find an eliminable symbol with Rnpp1 and an empty set of nonterminals
127
*/
128
void
TestRnpp1FindSymbolsEmptySet
();
129
130
/**
131
* Find an eliminable symbol with Rnpp1 and a nonempty set of nonterminals
132
*/
133
void
TestRnpp1FindSymbolsNonemptySet
();
134
135
/**
136
* Find all eliminable symbols with Rnppl and an empty set of nonterminals
137
*/
138
void
TestRnpplFindSymbolsEmptySet
();
139
140
/**
141
* Find all eliminable symbolswith Rnppl and a nonempty set of nonterminals
142
*/
143
void
TestRnpplFindSymbolsNonemptySet
();
144
145
/**
146
* Find all eliminable symbols with Rnppl and a set already containing all
147
* eliminable symbols
148
*/
149
void
TestRnpplFindSymbolsCompleteSet
();
150
151
/**
152
* Remove all noneliminable nonterminals and all productions containing
153
* noneliminable nonterminals
154
*/
155
void
TestRnppGrammar1
();
156
157
/**
158
* Remove all noneliminable nonterminals and all productions containing
159
* noneliminable nonterminals
160
*/
161
void
TestRnppGrammar2
();
162
163
/**
164
* Try to remove all noneliminable nonterminals and all productions containing
165
* noneliminable nonterminals from an empty grammar.
166
*/
167
void
TestRnppEmptyGrammar
();
168
169
/**
170
* Test if all terminals have been set correctly and match the generator's events.
171
*/
172
void
TestSp2LrTerminals
();
173
174
/**
175
* Test if all possible nonterminals were generated.
176
*/
177
void
TestSp2LrNonterminals
();
178
179
/**
180
* Test if all expected productions for read, pop and push transitions and for the final
181
* states were generated.
182
*/
183
void
TestSp2LrProductions
();
184
185
/**
186
*
187
*/
188
void
TestRupProductions
();
189
190
/**
191
*
192
*/
193
void
TestRupNonterminals
();
194
195
/**
196
* All Filter tests
197
*/
198
void
TestFilter
();
199
200
/**
201
* All Rnpp1 tests
202
*/
203
void
TestRnpp1
();
204
205
/**
206
* All Rnppl tests
207
*/
208
void
TestRnppl
();
209
210
/**
211
* All Rnpp tests
212
*/
213
void
TestRnpp
();
214
215
/**
216
* All Sp2Lr tests
217
*/
218
void
TestSp2Lr
();
219
220
221
/**
222
* All Rup tests
223
*/
224
void
TestRup
();
225
226
}
// namespace faudes
227
228
#endif
libFAUDES 2.26g
--- 2015.08.17 --- c++ api documentaion by
doxygen
>>
C++ API
Introduction
Sets
Generators
Functions
PlugIns
Tutorials
Classes
Files
Top of Page