1//
2// TypeListTest.cpp
3//
4// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
5// and Contributors.
6//
7// SPDX-License-Identifier: BSL-1.0
8//
9
10
11#include "TypeListTest.h"
12#include "Poco/CppUnit/TestCaller.h"
13#include "Poco/CppUnit/TestSuite.h"
14#include "Poco/Tuple.h"
15#include "Poco/TypeList.h"
16#include "Poco/Void.h"
17#include <iostream>
18
19
20#if defined(_MSC_VER)
21# pragma warning(disable:4800) // forcing value to bool 'true' or 'false' on MSVC 71
22#endif
23
24
25using Poco::TypeList;
26using Poco::Tuple;
27using Poco::NullTypeList;
28using Poco::TypeListType;
29using Poco::TypeGetter;
30using Poco::TypeLocator;
31using Poco::TypeAppender;
32using Poco::TypeOneEraser;
33using Poco::TypeAllEraser;
34using Poco::TypeDuplicateEraser;
35using Poco::TypeOneReplacer;
36using Poco::TypeAllReplacer;
37using Poco::Int8;
38using Poco::UInt8;
39using Poco::Int16;
40using Poco::UInt16;
41using Poco::Int32;
42using Poco::UInt32;
43using Poco::Int8;
44using Poco::UInt8;
45using Poco::Int16;
46using Poco::UInt16;
47using Poco::Int32;
48using Poco::UInt32;
49using Poco::Void;
50
51
52TypeListTest::TypeListTest(const std::string& rName): CppUnit::TestCase(rName)
53{
54}
55
56
57TypeListTest::~TypeListTest()
58{
59}
60
61
62void TypeListTest::testTypeList()
63{
64 typedef TypeListType<Int8,
65 UInt8,
66 Int16,
67 UInt16,
68 Int32,
69 UInt32,
70 float,
71 double,
72 Int8,
73 UInt8,
74 Int16,
75 UInt16,
76 Int32,
77 UInt32,
78 float>::HeadType Type15;
79const int i = 0;
80 Tuple<TypeGetter<i, Type15>::HeadType,
81 TypeGetter<1, Type15>::HeadType,
82 TypeGetter<2, Type15>::HeadType,
83 TypeGetter<3, Type15>::HeadType,
84 TypeGetter<4, Type15>::HeadType,
85 TypeGetter<5, Type15>::HeadType,
86 TypeGetter<6, Type15>::HeadType,
87 TypeGetter<7, Type15>::HeadType,
88 TypeGetter<8, Type15>::HeadType,
89 TypeGetter<9, Type15>::HeadType> tuple;
90
91 static TypeLocator<Type15, Int8> pos0;
92 static TypeLocator<Type15, UInt8> pos1;
93 static TypeLocator<Type15, Int16> pos2;
94 static TypeLocator<Type15, UInt16> pos3;
95 static TypeLocator<Type15, Int32> pos4;
96 static TypeLocator<Type15, UInt32> pos5;
97 static TypeLocator<Type15, float> pos6;
98 static TypeLocator<Type15, double> pos7;
99 static TypeLocator<Type15, Int8> pos8;
100 static TypeLocator<Type15, std::string> posUnknown;
101
102 assertTrue (pos0.value == 0);
103 assertTrue (pos1.value == 1);
104 assertTrue (pos2.value == 2);
105 assertTrue (pos3.value == 3);
106 assertTrue (pos4.value == 4);
107 assertTrue (pos5.value == 5);
108 assertTrue (pos6.value == 6);
109 assertTrue (pos7.value == 7);
110 assertTrue (pos8.value == 0);
111 assertTrue (posUnknown.value == -1);
112
113 tuple.set<TypeLocator<Type15, Int32>::value >(-123);
114 assertTrue (-123 == tuple.get<4>());
115
116 assertTrue (typeid(TypeGetter<0, Type15>::HeadType) == typeid(Int8));
117 assertTrue (typeid(TypeGetter<0, Type15>::ConstHeadType) == typeid(const Int8));
118 assertTrue (typeid(TypeGetter<1, Type15>::HeadType) == typeid(UInt8));
119 assertTrue (typeid(TypeGetter<1, Type15>::ConstHeadType) == typeid(const UInt8));
120 assertTrue (typeid(TypeGetter<2, Type15>::HeadType) == typeid(Int16));
121 assertTrue (typeid(TypeGetter<2, Type15>::ConstHeadType) == typeid(const Int16));
122 assertTrue (typeid(TypeGetter<3, Type15>::HeadType) == typeid(UInt16));
123 assertTrue (typeid(TypeGetter<3, Type15>::ConstHeadType) == typeid(const UInt16));
124 assertTrue (typeid(TypeGetter<4, Type15>::HeadType) == typeid(Int32));
125 assertTrue (typeid(TypeGetter<4, Type15>::ConstHeadType) == typeid(const Int32));
126 assertTrue (typeid(TypeGetter<5, Type15>::HeadType) == typeid(UInt32));
127 assertTrue (typeid(TypeGetter<5, Type15>::ConstHeadType) == typeid(const UInt32));
128 assertTrue (typeid(TypeGetter<6, Type15>::HeadType) == typeid(float));
129 assertTrue (typeid(TypeGetter<6, Type15>::ConstHeadType) == typeid(const float));
130 assertTrue (typeid(TypeGetter<7, Type15>::HeadType) == typeid(double));
131 assertTrue (typeid(TypeGetter<7, Type15>::ConstHeadType) == typeid(const double));
132 assertTrue (typeid(TypeGetter<8, Type15>::HeadType) == typeid(Int8));
133 assertTrue (typeid(TypeGetter<8, Type15>::ConstHeadType) == typeid(const Int8));
134 assertTrue (typeid(TypeGetter<9, Type15>::HeadType) == typeid(UInt8));
135 assertTrue (typeid(TypeGetter<9, Type15>::ConstHeadType) == typeid(const UInt8));
136 assertTrue (typeid(TypeGetter<10, Type15>::HeadType) == typeid(Int16));
137 assertTrue (typeid(TypeGetter<10, Type15>::ConstHeadType) == typeid(const Int16));
138 assertTrue (typeid(TypeGetter<11, Type15>::HeadType) == typeid(UInt16));
139 assertTrue (typeid(TypeGetter<11, Type15>::ConstHeadType) == typeid(const UInt16));
140 assertTrue (typeid(TypeGetter<12, Type15>::HeadType) == typeid(Int32));
141 assertTrue (typeid(TypeGetter<12, Type15>::ConstHeadType) == typeid(const Int32));
142 assertTrue (typeid(TypeGetter<13, Type15>::HeadType) == typeid(UInt32));
143 assertTrue (typeid(TypeGetter<13, Type15>::ConstHeadType) == typeid(const UInt32));
144 assertTrue (typeid(TypeGetter<14, Type15>::HeadType) == typeid(float));
145 assertTrue (typeid(TypeGetter<14, Type15>::ConstHeadType) == typeid(const float));
146
147 typedef TypeListType<Int8>::HeadType Type1;
148 assertTrue (1 == Type1::length);
149 typedef TypeListType<Int16, Int32>::HeadType Type2;
150 assertTrue (2 == Type2::length);
151 typedef TypeAppender<Type1, Type2>::HeadType Type3;
152 assertTrue (3 == Type3::length);
153
154 assertTrue (typeid(TypeGetter<0, Type3>::HeadType) == typeid(Int8));
155 assertTrue (typeid(TypeGetter<1, Type3>::HeadType) == typeid(Int16));
156 assertTrue (typeid(TypeGetter<2, Type3>::HeadType) == typeid(Int32));
157
158 static TypeLocator<Type3, Int8> posNo1;
159 static TypeLocator<Type3, Int16> posNo2;
160 static TypeLocator<Type3, Int32> posNo3;
161
162 assertTrue (posNo1.value == 0);
163 assertTrue (posNo2.value == 1);
164 assertTrue (posNo3.value == 2);
165
166 typedef TypeOneEraser<Type3, Int8>::HeadType TypeEraser1;
167 assertTrue (2 == TypeEraser1::length);
168 assertTrue (typeid(TypeGetter<0, TypeEraser1>::HeadType) == typeid(Int16));
169 assertTrue (typeid(TypeGetter<1, TypeEraser1>::HeadType) == typeid(Int32));
170
171 typedef TypeOneEraser<Type3, Int16>::HeadType TypeEraser2;
172 assertTrue (2 == TypeEraser2::length);
173 assertTrue (typeid(TypeGetter<0, TypeEraser2>::HeadType) == typeid(Int8));
174 assertTrue (typeid(TypeGetter<1, TypeEraser2>::HeadType) == typeid(Int32));
175
176 typedef TypeOneEraser<Type3, Int32>::HeadType TypeEraser3;
177 assertTrue (2 == TypeEraser3::length);
178 assertTrue (typeid(TypeGetter<0, TypeEraser3>::HeadType) == typeid(Int8));
179 assertTrue (typeid(TypeGetter<1, TypeEraser3>::HeadType) == typeid(Int16));
180
181 typedef TypeListType<Int8,Int16,Int8,Int16,Int8>::HeadType Type5;
182 typedef TypeAllEraser<Type5, Int8>::HeadType TypeAllEraser3;
183 assertTrue (2 == TypeAllEraser3::length);
184 assertTrue (typeid(TypeGetter<0, TypeAllEraser3>::HeadType) == typeid(Int16));
185 assertTrue (typeid(TypeGetter<1, TypeAllEraser3>::HeadType) == typeid(Int16));
186
187 typedef TypeDuplicateEraser<Type5>::HeadType TypeDuplicateEraser1;
188 assertTrue (2 == TypeDuplicateEraser1::length);
189 assertTrue (typeid(TypeGetter<0, TypeDuplicateEraser1>::HeadType) == typeid(Int8));
190 assertTrue (typeid(TypeGetter<1, TypeDuplicateEraser1>::HeadType) == typeid(Int16));
191
192 typedef TypeOneReplacer<Type5, Int8, Int32>::HeadType TypeOneReplacer1;
193 assertTrue (5 == TypeOneReplacer1::length);
194 assertTrue (typeid(TypeGetter<0, TypeOneReplacer1>::HeadType) == typeid(Int32));
195 assertTrue (typeid(TypeGetter<1, TypeOneReplacer1>::HeadType) == typeid(Int16));
196 assertTrue (typeid(TypeGetter<2, TypeOneReplacer1>::HeadType) == typeid(Int8));
197 assertTrue (typeid(TypeGetter<3, TypeOneReplacer1>::HeadType) == typeid(Int16));
198 assertTrue (typeid(TypeGetter<4, TypeOneReplacer1>::HeadType) == typeid(Int8));
199
200 typedef TypeAllReplacer<Type5, Int8, Int32>::HeadType TypeAllReplacer1;
201 assertTrue (5 == TypeAllReplacer1::length);
202 assertTrue (typeid(TypeGetter<0, TypeAllReplacer1>::HeadType) == typeid(Int32));
203 assertTrue (typeid(TypeGetter<1, TypeAllReplacer1>::HeadType) == typeid(Int16));
204 assertTrue (typeid(TypeGetter<2, TypeAllReplacer1>::HeadType) == typeid(Int32));
205 assertTrue (typeid(TypeGetter<3, TypeAllReplacer1>::HeadType) == typeid(Int16));
206 assertTrue (typeid(TypeGetter<4, TypeAllReplacer1>::HeadType) == typeid(Int32));
207
208 typedef TypeListType<Void,Void,Void,Void,Void,Void,Void,Void,Void,Void,Void,Void,Void,Void,Void,Void,Void,Void,Void,Void,
209 Void,Void,Void,Void,Void,Void,Void,Void,Void,Void,Void,Void,Void,Void,Void,Void,Void,Void,Void,Void>::HeadType TypeVoid;
210 assertTrue (typeid(TypeGetter<0, TypeVoid>::HeadType) == typeid(Void));
211 assertTrue (typeid(TypeGetter<1, TypeVoid>::HeadType) == typeid(Void));
212 assertTrue (typeid(TypeGetter<2, TypeVoid>::HeadType) == typeid(Void));
213 assertTrue (typeid(TypeGetter<3, TypeVoid>::HeadType) == typeid(Void));
214 assertTrue (typeid(TypeGetter<4, TypeVoid>::HeadType) == typeid(Void));
215 assertTrue (typeid(TypeGetter<5, TypeVoid>::HeadType) == typeid(Void));
216 assertTrue (typeid(TypeGetter<6, TypeVoid>::HeadType) == typeid(Void));
217 assertTrue (typeid(TypeGetter<7, TypeVoid>::HeadType) == typeid(Void));
218 assertTrue (typeid(TypeGetter<8, TypeVoid>::HeadType) == typeid(Void));
219 assertTrue (typeid(TypeGetter<9, TypeVoid>::HeadType) == typeid(Void));
220 assertTrue (typeid(TypeGetter<10, TypeVoid>::HeadType) == typeid(Void));
221 assertTrue (typeid(TypeGetter<11, TypeVoid>::HeadType) == typeid(Void));
222 assertTrue (typeid(TypeGetter<12, TypeVoid>::HeadType) == typeid(Void));
223 assertTrue (typeid(TypeGetter<13, TypeVoid>::HeadType) == typeid(Void));
224 assertTrue (typeid(TypeGetter<14, TypeVoid>::HeadType) == typeid(Void));
225 assertTrue (typeid(TypeGetter<15, TypeVoid>::HeadType) == typeid(Void));
226 assertTrue (typeid(TypeGetter<16, TypeVoid>::HeadType) == typeid(Void));
227 assertTrue (typeid(TypeGetter<17, TypeVoid>::HeadType) == typeid(Void));
228 assertTrue (typeid(TypeGetter<18, TypeVoid>::HeadType) == typeid(Void));
229 assertTrue (typeid(TypeGetter<19, TypeVoid>::HeadType) == typeid(Void));
230 assertTrue (typeid(TypeGetter<20, TypeVoid>::HeadType) == typeid(Void));
231 assertTrue (typeid(TypeGetter<21, TypeVoid>::HeadType) == typeid(Void));
232 assertTrue (typeid(TypeGetter<22, TypeVoid>::HeadType) == typeid(Void));
233 assertTrue (typeid(TypeGetter<23, TypeVoid>::HeadType) == typeid(Void));
234 assertTrue (typeid(TypeGetter<24, TypeVoid>::HeadType) == typeid(Void));
235 assertTrue (typeid(TypeGetter<25, TypeVoid>::HeadType) == typeid(Void));
236 assertTrue (typeid(TypeGetter<26, TypeVoid>::HeadType) == typeid(Void));
237 assertTrue (typeid(TypeGetter<27, TypeVoid>::HeadType) == typeid(Void));
238 assertTrue (typeid(TypeGetter<28, TypeVoid>::HeadType) == typeid(Void));
239 assertTrue (typeid(TypeGetter<29, TypeVoid>::HeadType) == typeid(Void));
240 assertTrue (typeid(TypeGetter<30, TypeVoid>::HeadType) == typeid(Void));
241 assertTrue (typeid(TypeGetter<31, TypeVoid>::HeadType) == typeid(Void));
242 assertTrue (typeid(TypeGetter<32, TypeVoid>::HeadType) == typeid(Void));
243 assertTrue (typeid(TypeGetter<33, TypeVoid>::HeadType) == typeid(Void));
244 assertTrue (typeid(TypeGetter<34, TypeVoid>::HeadType) == typeid(Void));
245 assertTrue (typeid(TypeGetter<35, TypeVoid>::HeadType) == typeid(Void));
246 assertTrue (typeid(TypeGetter<36, TypeVoid>::HeadType) == typeid(Void));
247 assertTrue (typeid(TypeGetter<37, TypeVoid>::HeadType) == typeid(Void));
248 assertTrue (typeid(TypeGetter<38, TypeVoid>::HeadType) == typeid(Void));
249 assertTrue (typeid(TypeGetter<39, TypeVoid>::HeadType) == typeid(Void));
250
251
252 typedef TypeOneReplacer<TypeVoid, Void, Int8>::HeadType TypeFirstReplacer;
253 assertTrue (typeid(TypeGetter<0, TypeFirstReplacer>::HeadType) == typeid(Int8));
254 assertTrue (typeid(TypeGetter<1, TypeFirstReplacer>::HeadType) == typeid(Void));
255 assertTrue (typeid(TypeGetter<2, TypeFirstReplacer>::HeadType) == typeid(Void));
256 assertTrue (typeid(TypeGetter<3, TypeFirstReplacer>::HeadType) == typeid(Void));
257 assertTrue (typeid(TypeGetter<4, TypeFirstReplacer>::HeadType) == typeid(Void));
258 assertTrue (typeid(TypeGetter<5, TypeFirstReplacer>::HeadType) == typeid(Void));
259 assertTrue (typeid(TypeGetter<6, TypeFirstReplacer>::HeadType) == typeid(Void));
260 assertTrue (typeid(TypeGetter<7, TypeFirstReplacer>::HeadType) == typeid(Void));
261 assertTrue (typeid(TypeGetter<8, TypeFirstReplacer>::HeadType) == typeid(Void));
262 assertTrue (typeid(TypeGetter<9, TypeFirstReplacer>::HeadType) == typeid(Void));
263 assertTrue (typeid(TypeGetter<10, TypeFirstReplacer>::HeadType) == typeid(Void));
264 assertTrue (typeid(TypeGetter<11, TypeFirstReplacer>::HeadType) == typeid(Void));
265 assertTrue (typeid(TypeGetter<12, TypeFirstReplacer>::HeadType) == typeid(Void));
266 assertTrue (typeid(TypeGetter<13, TypeFirstReplacer>::HeadType) == typeid(Void));
267 assertTrue (typeid(TypeGetter<14, TypeFirstReplacer>::HeadType) == typeid(Void));
268 assertTrue (typeid(TypeGetter<15, TypeFirstReplacer>::HeadType) == typeid(Void));
269 assertTrue (typeid(TypeGetter<16, TypeFirstReplacer>::HeadType) == typeid(Void));
270 assertTrue (typeid(TypeGetter<17, TypeFirstReplacer>::HeadType) == typeid(Void));
271 assertTrue (typeid(TypeGetter<18, TypeFirstReplacer>::HeadType) == typeid(Void));
272 assertTrue (typeid(TypeGetter<19, TypeFirstReplacer>::HeadType) == typeid(Void));
273 assertTrue (typeid(TypeGetter<20, TypeFirstReplacer>::HeadType) == typeid(Void));
274 assertTrue (typeid(TypeGetter<21, TypeFirstReplacer>::HeadType) == typeid(Void));
275 assertTrue (typeid(TypeGetter<22, TypeFirstReplacer>::HeadType) == typeid(Void));
276 assertTrue (typeid(TypeGetter<23, TypeFirstReplacer>::HeadType) == typeid(Void));
277 assertTrue (typeid(TypeGetter<24, TypeFirstReplacer>::HeadType) == typeid(Void));
278 assertTrue (typeid(TypeGetter<25, TypeFirstReplacer>::HeadType) == typeid(Void));
279 assertTrue (typeid(TypeGetter<26, TypeFirstReplacer>::HeadType) == typeid(Void));
280 assertTrue (typeid(TypeGetter<27, TypeFirstReplacer>::HeadType) == typeid(Void));
281 assertTrue (typeid(TypeGetter<28, TypeFirstReplacer>::HeadType) == typeid(Void));
282 assertTrue (typeid(TypeGetter<29, TypeFirstReplacer>::HeadType) == typeid(Void));
283 assertTrue (typeid(TypeGetter<30, TypeFirstReplacer>::HeadType) == typeid(Void));
284 assertTrue (typeid(TypeGetter<31, TypeFirstReplacer>::HeadType) == typeid(Void));
285 assertTrue (typeid(TypeGetter<32, TypeFirstReplacer>::HeadType) == typeid(Void));
286 assertTrue (typeid(TypeGetter<33, TypeFirstReplacer>::HeadType) == typeid(Void));
287 assertTrue (typeid(TypeGetter<34, TypeFirstReplacer>::HeadType) == typeid(Void));
288 assertTrue (typeid(TypeGetter<35, TypeFirstReplacer>::HeadType) == typeid(Void));
289 assertTrue (typeid(TypeGetter<36, TypeFirstReplacer>::HeadType) == typeid(Void));
290 assertTrue (typeid(TypeGetter<37, TypeFirstReplacer>::HeadType) == typeid(Void));
291 assertTrue (typeid(TypeGetter<38, TypeFirstReplacer>::HeadType) == typeid(Void));
292 assertTrue (typeid(TypeGetter<39, TypeFirstReplacer>::HeadType) == typeid(Void));
293
294 typedef TypeOneReplacer<TypeFirstReplacer, Void, Int16>::HeadType TypeSecondReplacer;
295 assertTrue (typeid(TypeGetter<0, TypeSecondReplacer>::HeadType) == typeid(Int8));
296 assertTrue (typeid(TypeGetter<1, TypeSecondReplacer>::HeadType) == typeid(Int16));
297
298 typedef TypeOneReplacer<TypeSecondReplacer, Void, Int32>::HeadType TypeThirdReplacer;
299 assertTrue (typeid(TypeGetter<0, TypeThirdReplacer>::HeadType) == typeid(Int8));
300 assertTrue (typeid(TypeGetter<1, TypeThirdReplacer>::HeadType) == typeid(Int16));
301 assertTrue (typeid(TypeGetter<2, TypeThirdReplacer>::HeadType) == typeid(Int32));
302
303 typedef TypeAllReplacer<TypeThirdReplacer, Void, float>::HeadType TypeFourthReplacer;
304 assertTrue (typeid(TypeGetter<0, TypeFourthReplacer>::HeadType) == typeid(Int8));
305 assertTrue (typeid(TypeGetter<1, TypeFourthReplacer>::HeadType) == typeid(Int16));
306 assertTrue (typeid(TypeGetter<2, TypeFourthReplacer>::HeadType) == typeid(Int32));
307 assertTrue (typeid(TypeGetter<3, TypeFourthReplacer>::HeadType) == typeid(float));
308 assertTrue (typeid(TypeGetter<4, TypeFourthReplacer>::HeadType) == typeid(float));
309 assertTrue (typeid(TypeGetter<5, TypeFourthReplacer>::HeadType) == typeid(float));
310 assertTrue (typeid(TypeGetter<6, TypeFourthReplacer>::HeadType) == typeid(float));
311 assertTrue (typeid(TypeGetter<7, TypeFourthReplacer>::HeadType) == typeid(float));
312 assertTrue (typeid(TypeGetter<8, TypeFourthReplacer>::HeadType) == typeid(float));
313 assertTrue (typeid(TypeGetter<9, TypeFourthReplacer>::HeadType) == typeid(float));
314 assertTrue (typeid(TypeGetter<10, TypeFourthReplacer>::HeadType) == typeid(float));
315 assertTrue (typeid(TypeGetter<11, TypeFourthReplacer>::HeadType) == typeid(float));
316 assertTrue (typeid(TypeGetter<12, TypeFourthReplacer>::HeadType) == typeid(float));
317 assertTrue (typeid(TypeGetter<13, TypeFourthReplacer>::HeadType) == typeid(float));
318 assertTrue (typeid(TypeGetter<14, TypeFourthReplacer>::HeadType) == typeid(float));
319 assertTrue (typeid(TypeGetter<15, TypeFourthReplacer>::HeadType) == typeid(float));
320 assertTrue (typeid(TypeGetter<16, TypeFourthReplacer>::HeadType) == typeid(float));
321 assertTrue (typeid(TypeGetter<17, TypeFourthReplacer>::HeadType) == typeid(float));
322 assertTrue (typeid(TypeGetter<18, TypeFourthReplacer>::HeadType) == typeid(float));
323 assertTrue (typeid(TypeGetter<19, TypeFourthReplacer>::HeadType) == typeid(float));
324 assertTrue (typeid(TypeGetter<20, TypeFourthReplacer>::HeadType) == typeid(float));
325 assertTrue (typeid(TypeGetter<21, TypeFourthReplacer>::HeadType) == typeid(float));
326 assertTrue (typeid(TypeGetter<22, TypeFourthReplacer>::HeadType) == typeid(float));
327 assertTrue (typeid(TypeGetter<23, TypeFourthReplacer>::HeadType) == typeid(float));
328 assertTrue (typeid(TypeGetter<24, TypeFourthReplacer>::HeadType) == typeid(float));
329 assertTrue (typeid(TypeGetter<25, TypeFourthReplacer>::HeadType) == typeid(float));
330 assertTrue (typeid(TypeGetter<26, TypeFourthReplacer>::HeadType) == typeid(float));
331 assertTrue (typeid(TypeGetter<27, TypeFourthReplacer>::HeadType) == typeid(float));
332 assertTrue (typeid(TypeGetter<28, TypeFourthReplacer>::HeadType) == typeid(float));
333 assertTrue (typeid(TypeGetter<29, TypeFourthReplacer>::HeadType) == typeid(float));
334 assertTrue (typeid(TypeGetter<30, TypeFourthReplacer>::HeadType) == typeid(float));
335 assertTrue (typeid(TypeGetter<31, TypeFourthReplacer>::HeadType) == typeid(float));
336 assertTrue (typeid(TypeGetter<32, TypeFourthReplacer>::HeadType) == typeid(float));
337 assertTrue (typeid(TypeGetter<33, TypeFourthReplacer>::HeadType) == typeid(float));
338 assertTrue (typeid(TypeGetter<34, TypeFourthReplacer>::HeadType) == typeid(float));
339 assertTrue (typeid(TypeGetter<35, TypeFourthReplacer>::HeadType) == typeid(float));
340 assertTrue (typeid(TypeGetter<36, TypeFourthReplacer>::HeadType) == typeid(float));
341 assertTrue (typeid(TypeGetter<37, TypeFourthReplacer>::HeadType) == typeid(float));
342 assertTrue (typeid(TypeGetter<38, TypeFourthReplacer>::HeadType) == typeid(float));
343 assertTrue (typeid(TypeGetter<39, TypeFourthReplacer>::HeadType) == typeid(float));
344}
345
346
347void TypeListTest::setUp()
348{
349}
350
351
352void TypeListTest::tearDown()
353{
354}
355
356
357CppUnit::Test* TypeListTest::suite()
358{
359 CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("TypeListTest");
360
361 CppUnit_addTest(pSuite, TypeListTest, testTypeList);
362
363 return pSuite;
364}
365