Directory: | ./ |
---|---|
File: | TESTS/TEST_CLASS_CONFIG/main.cpp |
Date: | 2025-04-25 19:10:50 |
Exec | Total | Coverage | |
---|---|---|---|
Lines: | 115 | 115 | 100.0% |
Branches: | 206 | 206 | 100.0% |
Line | Branch | Exec | Source |
---|---|---|---|
1 | /*************************************** | ||
2 | Auteur : Pierre Aubert | ||
3 | Mail : pierre.aubert@lapp.in2p3.fr | ||
4 | Licence : CeCILL-C | ||
5 | ****************************************/ | ||
6 | |||
7 | |||
8 | #include <iostream> | ||
9 | #include "class_attribute_utils.h" | ||
10 | |||
11 | #include "saveClassConfig.h" | ||
12 | #include "saveClassConfigTest.h" | ||
13 | |||
14 | ///Print PClassAttribute | ||
15 | /** @param[out] attr : PClassAttribute to be printed | ||
16 | */ | ||
17 | 3 | void printPClassAttribute(PClassAttribute & attr){ | |
18 | 3 | std::cout << "PClassAttribute(type = '" << attr.getType() << "', name = '"<<attr.getName()<<"', isPointer = " << attr.getIsPointer() << ", isReference = " << attr.getIsReference() << ", doc = '"<<attr.getDocumentation()<<"'" << std::endl; | |
19 | 3 | } | |
20 | |||
21 | ///Print PClassAttribute | ||
22 | /** @param[out] attr : PClassAttribute to be printed | ||
23 | */ | ||
24 | 3 | void printPClassAttributeConst(const PClassAttribute & attr){ | |
25 | 3 | std::cout << "const PClassAttribute(type = '" << attr.getType() << "', name = '"<<attr.getName()<<"', isPointer = " << attr.getIsPointer() << ", isReference = " << attr.getIsReference() << ", doc = '"<<attr.getDocumentation()<<"'" << std::endl; | |
26 | 3 | } | |
27 | |||
28 | ///Test the PClassConfig | ||
29 | /** @return true on success, false otherwise | ||
30 | */ | ||
31 | 1 | bool testClassConfig(){ | |
32 | 1 | bool b(true); | |
33 | |||
34 |
1/1✓ Branch 1 taken 1 times.
|
1 | PClassConfig conf; |
35 | |||
36 |
7/7✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 15 taken 1 times.
✓ Branch 18 taken 1 times.
✓ Branch 21 taken 1 times.
|
2 | PClassAttribute attrA(createClassAttribute("int", "attr1", "///some attribute doc")), attrB, attrC, attrD; |
37 |
5/5✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
|
1 | attrB = createClassAttribute("int&", "attr2", false, true, "///some attribute doc"); |
38 |
5/5✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
|
1 | attrC = createClassAttribute("double*", "attr3", true, false, "///some attribute doc"); |
39 |
5/5✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
|
1 | attrD = createClassAttribute("float*&", "attr4", true, true, "///some attribute doc"); |
40 | |||
41 |
1/1✓ Branch 1 taken 1 times.
|
1 | printPClassAttribute(attrA); |
42 |
1/1✓ Branch 1 taken 1 times.
|
1 | printPClassAttributeConst(attrA); |
43 | |||
44 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | conf.setClassDocumentation("///Some documentation of the class"); |
45 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | conf.setName("Shadok"); |
46 | |||
47 | 1 | std::vector<PClassAttribute> listAttribute1, listAttribute2; | |
48 |
1/1✓ Branch 1 taken 1 times.
|
1 | listAttribute1.push_back(attrA); |
49 |
1/1✓ Branch 1 taken 1 times.
|
1 | listAttribute1.push_back(attrB); |
50 |
1/1✓ Branch 1 taken 1 times.
|
1 | listAttribute2.push_back(attrD); |
51 | |||
52 |
1/1✓ Branch 1 taken 1 times.
|
1 | conf.setListAttribute(listAttribute1); |
53 |
1/1✓ Branch 1 taken 1 times.
|
1 | conf.addAttribute(attrC); |
54 |
1/1✓ Branch 1 taken 1 times.
|
1 | conf.addListAttribute(listAttribute2); |
55 | |||
56 | 1 | std::vector<PClassConfig> listClassConfig; | |
57 |
1/1✓ Branch 1 taken 1 times.
|
1 | listClassConfig.push_back(conf); |
58 | |||
59 |
3/3✓ Branch 2 taken 1 times.
✓ Branch 5 taken 1 times.
✓ Branch 8 taken 1 times.
|
1 | b &= saveClassImplDecl(listClassConfig, PPath("Shadok")); |
60 |
6/6✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
|
1 | b &= saveClassTest(PPath("./TESTS/"), "", listClassConfig, PPath("Shadok")); |
61 | |||
62 | 1 | return b; | |
63 | 1 | } | |
64 | |||
65 | ///Test the PClassConfig | ||
66 | /** @return true on success, false otherwise | ||
67 | */ | ||
68 | 1 | bool testClassConfigInheritance(){ | |
69 | 1 | bool b(true); | |
70 | |||
71 |
1/1✓ Branch 1 taken 1 times.
|
1 | PClassConfig conf; |
72 | |||
73 |
7/7✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 15 taken 1 times.
✓ Branch 18 taken 1 times.
✓ Branch 21 taken 1 times.
|
2 | PClassAttribute attrA(createClassAttribute("int", "attr1", false, false, "///some attribute doc")), attrB, attrC, attrD; |
74 |
5/5✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
|
1 | attrB = createClassAttribute("int&", "attr2", false, true, "///some attribute doc"); |
75 |
5/5✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
|
1 | attrC = createClassAttribute("double*", "attr3", true, false, "///some attribute doc"); |
76 |
5/5✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
|
1 | attrD = createClassAttribute("float*&", "attr4", true, true, "///some attribute doc"); |
77 | |||
78 |
1/1✓ Branch 1 taken 1 times.
|
1 | printPClassAttribute(attrA); |
79 |
1/1✓ Branch 1 taken 1 times.
|
1 | printPClassAttributeConst(attrA); |
80 | |||
81 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | conf.setClassDocumentation("///Some documentation of the class"); |
82 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | conf.setName("ShadokParent"); |
83 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | conf.addParentClass("SomeParent"); |
84 | |||
85 | 1 | PVecString listParentClass; | |
86 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | listParentClass.push_back("OtherParent"); |
87 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | listParentClass.push_back("OtherParent2"); |
88 |
1/1✓ Branch 1 taken 1 times.
|
1 | conf.addListParentClass(listParentClass); |
89 | |||
90 | 1 | std::vector<PClassAttribute> listAttribute1, listAttribute2; | |
91 |
1/1✓ Branch 1 taken 1 times.
|
1 | listAttribute1.push_back(attrA); |
92 |
1/1✓ Branch 1 taken 1 times.
|
1 | listAttribute1.push_back(attrB); |
93 |
1/1✓ Branch 1 taken 1 times.
|
1 | listAttribute2.push_back(attrD); |
94 | |||
95 |
1/1✓ Branch 1 taken 1 times.
|
1 | conf.setListAttribute(listAttribute1); |
96 |
1/1✓ Branch 1 taken 1 times.
|
1 | conf.addAttribute(attrC); |
97 |
1/1✓ Branch 1 taken 1 times.
|
1 | conf.addListAttribute(listAttribute2); |
98 | |||
99 | 1 | std::vector<PClassConfig> listClassConfig; | |
100 |
1/1✓ Branch 1 taken 1 times.
|
1 | listClassConfig.push_back(conf); |
101 | |||
102 | 1 | PVecPath listInclude; | |
103 |
3/3✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
|
1 | listInclude.push_back(PPath("<SomeParent.h>")); |
104 |
3/3✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
|
1 | listInclude.push_back(PPath("\"OtherParent.h\"")); |
105 |
3/3✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
|
1 | listInclude.push_back(PPath("\"OtherParent2.h\"")); |
106 | |||
107 |
3/3✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
|
1 | b &= saveClassImplDecl(listClassConfig, PPath("ShadokParent"), listInclude); |
108 |
6/6✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
|
1 | b &= saveClassTest(PPath("./TESTS/"), "", listClassConfig, PPath("ShadokParent")); |
109 | |||
110 | 1 | return b; | |
111 | 1 | } | |
112 | |||
113 | ///Test the PClassConfig | ||
114 | /** @return true on success, false otherwise | ||
115 | */ | ||
116 | 1 | bool testClassConfigDataStream(){ | |
117 | 1 | bool b(true); | |
118 | |||
119 |
1/1✓ Branch 1 taken 1 times.
|
1 | PClassConfig conf; |
120 | |||
121 |
7/7✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 15 taken 1 times.
✓ Branch 18 taken 1 times.
✓ Branch 21 taken 1 times.
|
2 | PClassAttribute attrA(createClassAttribute("int", "attr1", "///some attribute doc")), attrB, attrC, attrD; |
122 |
4/4✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
✓ Branch 10 taken 1 times.
|
2 | PClassAttribute attrA2(createClassAttribute("float", "attr11", "///some attribute doc")); |
123 |
4/4✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
✓ Branch 10 taken 1 times.
|
2 | PClassAttribute attrA3(createClassAttribute("double", "attr12", "///some attribute doc")); |
124 |
4/4✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
✓ Branch 10 taken 1 times.
|
2 | PClassAttribute attrA4(createClassAttribute("unsigned int", "attr13", "///some attribute doc")); |
125 |
4/4✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
✓ Branch 10 taken 1 times.
|
2 | PClassAttribute attrA5(createClassAttribute("long", "attr14", "///some attribute doc")); |
126 |
4/4✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
✓ Branch 10 taken 1 times.
|
2 | PClassAttribute attrA6(createClassAttribute("long unsigned int", "attr15", "///some attribute doc")); |
127 |
4/4✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
✓ Branch 10 taken 1 times.
|
2 | PClassAttribute attrA7(createClassAttribute("bool", "attr16", "///some attribute doc")); |
128 |
4/4✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
✓ Branch 10 taken 1 times.
|
2 | PClassAttribute attrA8(createClassAttribute("char", "attr17", "///some attribute doc")); |
129 |
4/4✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
✓ Branch 10 taken 1 times.
|
2 | PClassAttribute attrA9(createClassAttribute("short", "attr18", "///some attribute doc")); |
130 |
4/4✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
✓ Branch 10 taken 1 times.
|
2 | PClassAttribute attrA10(createClassAttribute("unsigned short", "attr19", "///some attribute doc")); |
131 |
4/4✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
✓ Branch 10 taken 1 times.
|
2 | PClassAttribute attrA11(createClassAttribute("unsigned char", "attr110", "///some attribute doc")); |
132 |
4/4✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
✓ Branch 10 taken 1 times.
|
2 | PClassAttribute attrA12(createClassAttribute("PString", "attr111", "///some attribute doc")); |
133 | |||
134 |
5/5✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
|
1 | attrB = createClassAttribute("int&", "attr2", false, true, "///some attribute doc"); |
135 |
5/5✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
|
1 | attrC = createClassAttribute("double*", "attr3", true, false, "///some attribute doc"); |
136 |
5/5✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
|
1 | attrD = createClassAttribute("float*&", "attr4", true, true, "///some attribute doc"); |
137 | |||
138 |
1/1✓ Branch 1 taken 1 times.
|
1 | printPClassAttribute(attrA); |
139 |
1/1✓ Branch 1 taken 1 times.
|
1 | printPClassAttributeConst(attrA); |
140 | |||
141 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | conf.setClassDocumentation("///Some documentation of the class"); |
142 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | conf.setName("ShadokDS"); |
143 | |||
144 | 1 | std::vector<PClassAttribute> listAttribute1, listAttribute2; | |
145 |
1/1✓ Branch 1 taken 1 times.
|
1 | listAttribute1.push_back(attrA); |
146 |
1/1✓ Branch 1 taken 1 times.
|
1 | listAttribute1.push_back(attrA2); |
147 |
1/1✓ Branch 1 taken 1 times.
|
1 | listAttribute1.push_back(attrA3); |
148 |
1/1✓ Branch 1 taken 1 times.
|
1 | listAttribute1.push_back(attrA4); |
149 |
1/1✓ Branch 1 taken 1 times.
|
1 | listAttribute1.push_back(attrA5); |
150 |
1/1✓ Branch 1 taken 1 times.
|
1 | listAttribute1.push_back(attrA6); |
151 |
1/1✓ Branch 1 taken 1 times.
|
1 | listAttribute1.push_back(attrA7); |
152 |
1/1✓ Branch 1 taken 1 times.
|
1 | listAttribute1.push_back(attrA8); |
153 |
1/1✓ Branch 1 taken 1 times.
|
1 | listAttribute1.push_back(attrA9); |
154 |
1/1✓ Branch 1 taken 1 times.
|
1 | listAttribute1.push_back(attrA10); |
155 |
1/1✓ Branch 1 taken 1 times.
|
1 | listAttribute1.push_back(attrA11); |
156 |
1/1✓ Branch 1 taken 1 times.
|
1 | listAttribute1.push_back(attrA12); |
157 |
1/1✓ Branch 1 taken 1 times.
|
1 | listAttribute1.push_back(attrB); |
158 |
1/1✓ Branch 1 taken 1 times.
|
1 | listAttribute2.push_back(attrD); |
159 | |||
160 |
1/1✓ Branch 1 taken 1 times.
|
1 | conf.setListAttribute(listAttribute1); |
161 |
1/1✓ Branch 1 taken 1 times.
|
1 | conf.addAttribute(attrC); |
162 |
1/1✓ Branch 1 taken 1 times.
|
1 | conf.addListAttribute(listAttribute2); |
163 | |||
164 | 1 | std::vector<PClassConfig> listClassConfig; | |
165 |
1/1✓ Branch 1 taken 1 times.
|
1 | listClassConfig.push_back(conf); |
166 | |||
167 | 1 | PVecPath listInclude; | |
168 |
3/3✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
|
1 | b &= saveClassImplDecl(listClassConfig, PPath("ShadokDS"), listInclude, true, true); |
169 |
6/6✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
|
1 | b &= saveClassTest(PPath("./TESTS/"), "", listClassConfig, PPath("ShadokDS"), true, true); |
170 | |||
171 | 1 | return b; | |
172 | 1 | } | |
173 | |||
174 | 1 | int main(int argc, char ** argv){ | |
175 | 1 | bool b(testClassConfig()); | |
176 | 1 | b &= testClassConfigInheritance(); | |
177 | 1 | b &= testClassConfigDataStream(); | |
178 | 1 | return b - 1; | |
179 | } | ||
180 | |||
181 | |||
182 |