About
User Reference
C++ API
luafaudes
Developer
Links
libFAUDES online
libFAUDES
C++ API
Sections
Sets
Generators
Functions
PlugIns
Tutorials
Index
Classes
Files
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
*/
38
void
TestFirstASelectedWords
();
39
40
/**
41
* Test for some selected word if the correct set of terminals is returned.
42
*/
43
void
TestFirstSelectedWords
();
44
45
/**
46
* Test FirstRed with a consistent word as input
47
*/
48
void
TestFirstRedConsistentWord
();
49
50
/**
51
* Test FirstRed with an inconsistent word as input
52
*/
53
void
TestFirstRedInconsistentWord
();
54
55
/**
56
* Filter a nonterminal from a vector of terminals and nonterminals.
57
*/
58
void
TestFilter1MixedGrammarSymbols
();
59
60
/**
61
* filter from an empty word
62
*/
63
void
TestFilter1Nothing
();
64
65
/**
66
* Test with only Terminals as input
67
*/
68
void
TestFirstAllTerminalsOnly
();
69
70
/**
71
* Test with Nonterminals and a reducible word as input
72
*/
73
void
TestFirstAllNonterminalsReducible
();
74
75
/**
76
* Test with Nonterminals and an irreducible word as input
77
*/
78
void
TestFirstAllNonterminalsIrreducible
();
79
80
/**
81
* Test with k = 0 and a word that results in an empty first set
82
*/
83
void
TestFirstLeq1ZeroEmpty
();
84
85
/**
86
* Test with k = 0 and a word that results in a nonempty first set
87
*/
88
void
TestFirstLeq1ZeroNonempty
();
89
90
/**
91
* Test with k = 1 and a word that results in a nonempty first set
92
*/
93
void
TestFirstLeq1OneNonempty
();
94
95
/**
96
* Test with k = 2 and a word that results in a nonempty first set
97
*/
98
void
TestFirstLeq1TwoNonempty
();
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.24g
--- 2014.09.15 --- c++ api documentaion by
doxygen
>>
C++ API
Introduction
Sets
Generators
Functions
PlugIns
Tutorials
Classes
Files
Top of Page