45TEST_CASE(
"JAU DArray Test 00 - ctti",
"[ctti][datatype][jau][darray]" ) {
57 std::cout << std::endl;
58 std::cout <<
"b0: " << b0 << std::endl;
59 std::cout <<
"b1: " << b1 << std::endl;
60 std::cout <<
"i0: " << i0 << std::endl;
61 std::cout <<
"i1: " << i1 << std::endl;
62 std::cout <<
"f0: " << f0 << std::endl;
63 std::cout <<
"f1: " << f1 << std::endl;
64 std::cout << std::endl;
68 std::cout << std::endl;
69 std::cout <<
"b0 value: " << b0.valueSignature() << std::endl;
70 std::cout <<
"b1 value: " << b1.valueSignature() << std::endl;
71 std::cout <<
"i0 value: " << i0.valueSignature() << std::endl;
72 std::cout <<
"i1 value: " << i1.valueSignature() << std::endl;
73 std::cout <<
"b0 self: " << b0.classSignature() << std::endl;
74 std::cout <<
"b1 self: " << b1.classSignature() << std::endl;
75 std::cout <<
"i0 self: " << i0.classSignature() << std::endl;
76 std::cout <<
"i1 self: " << i1.classSignature() << std::endl;
78 REQUIRE( b0.classSignature() == b1.classSignature() );
79 REQUIRE( i0.classSignature() == i1.classSignature() );
80 REQUIRE( b0.classSignature() != i1.classSignature() );
82 REQUIRE( b0.valueSignature() == b1.valueSignature() );
83 REQUIRE( i0.valueSignature() == i1.valueSignature() );
84 REQUIRE( f0.valueSignature() == f1.valueSignature() );
85 REQUIRE( b0.valueSignature() != i1.valueSignature() );
86 REQUIRE( b0.valueSignature() != f1.valueSignature() );
104 CHECK(
false == data.pinned() );
105 CHECK(
false == data.shared() );
106 CHECK( 0 == data.position() );
107 CHECK( 0 == data.limit() );
108 CHECK( 0 == data.size() );
109 CHECK( 0 == data.capacity() );
111 CHECK( 0 == data.position() );
112 CHECK( 0 == data.limit() );
113 CHECK( 0 == data.size() );
114 CHECK( 2 == data.capacity() );
116 CHECK( 0 == data.position() );
117 CHECK( 2 == data.limit() );
118 CHECK( 2 == data.size() );
119 CHECK( 2 == data.capacity() );
128 CHECK( 0 == data.position() );
129 CHECK( 4 == data.limit() );
130 CHECK( 4 == data.size() );
131 CHECK( 4 == data.capacity() );
143 data.erase(data.cbegin(), data.cend());
144 CHECK( 0 == data.position() );
145 CHECK( 0 == data.limit() );
146 CHECK( 0 == data.size() );
147 CHECK( 4 == data.capacity() );
151 CHECK( 2 == data.position() );
152 CHECK( 2 == data.limit() );
153 CHECK( 2 == data.size() );
154 CHECK( 4 == data.capacity() );
158 data.shrink_to_fit();
159 CHECK( 2 == data.position() );
160 CHECK( 2 == data.limit() );
161 CHECK( 2 == data.size() );
162 CHECK( 2 == data.capacity() );
166 data.setGrowthFactor(0);
168 CHECK(
true == data.pinned() );
169 CHECK(
false == data.shared() );
171 CHECK( 2 == data.position() );
172 CHECK( 2 == data.limit() );
173 CHECK( 2 == data.size() );
174 CHECK( 2 == data.capacity() );
175 data.setGrowthFactor(2.0f);
176 CHECK(
false == data.pinned() );
177 CHECK(
false == data.shared() );
179 data.erase(data.cbegin(), data.cend());
180 CHECK( 0 == data.position() );
181 CHECK( 0 == data.limit() );
182 CHECK( 0 == data.size() );
183 CHECK( 2 == data.capacity() );
185 data.shrink_to_fit();
187 CHECK( 0 == data.position() );
188 CHECK( 0 == data.limit() );
189 CHECK( 0 == data.size() );
190 CHECK( 0 == data.capacity() );
193 CHECK( 1 == data.position() );
194 CHECK( 1 == data.limit() );
195 CHECK( 1 == data.size() );
196 CHECK( 10 == data.capacity() );
197 CHECK(42 == data[0]);
200 CHECK( 2 == data.position() );
201 CHECK( 2 == data.limit() );
202 CHECK( 2 == data.size() );
203 CHECK( 10 == data.capacity() );
204 CHECK(42 == data[0]);
205 CHECK(43 == data[1]);
209 CHECK( 0 == data.position() );
210 CHECK( 2 == data.limit() );
211 CHECK( 2 == data.size() );
212 CHECK( 10 == data.capacity() );
215 CHECK( 1 == data.position() );
216 CHECK( 2 == data.limit() );
217 CHECK( 2 == data.size() );
218 CHECK( 10 == data.capacity() );
221 CHECK( 2 == data.position() );
222 CHECK( 2 == data.limit() );
223 CHECK( 2 == data.size() );
224 CHECK( 10 == data.capacity() );
230 CHECK( 2 == data.position() );
231 CHECK( 5 == data.limit() );
232 CHECK( 5 == data.size() );
233 CHECK( 10 == data.capacity() );
236 CHECK( 2 == data.position() );
237 CHECK( 4 == data.limit() );
238 CHECK( 4 == data.size() );
239 CHECK( 10 == data.capacity() );
242 CHECK( 2 == data.position() );
243 CHECK( 3 == data.limit() );
244 CHECK( 4 == data.size() );
245 CHECK( 10 == data.capacity() );
247 CHECK( 1 == data.position() );
248 CHECK( 1 == data.limit() );
249 CHECK( 4 == data.size() );
250 CHECK( 10 == data.capacity() );
253 CHECK( 3 == data.position() );
254 CHECK( 4 == data.limit() );
255 CHECK( 4 == data.size() );
256 CHECK( 10 == data.capacity() );
258 typename T::value_type val = 0;
259 for(
auto it = data.begin(); it != data.end(); ++it) { *it=val++; }
260 data.erase(data.begin()+1);
263 CHECK( 2 == data.position() );
264 CHECK( 3 == data.limit() );
265 CHECK( 3 == data.size() );
266 CHECK( 10 == data.capacity() );
267 CHECK( data[0] == 0 );
268 CHECK( data[1] == 2 );
269 CHECK( data[2] == 3 );
273 for(
auto it = data.begin(); it != data.end(); ++it) { *it=val++; }
274 CHECK( 2 == data.position() );
275 CHECK( 10 == data.limit() );
276 CHECK( 10 == data.size() );
277 CHECK( 10 == data.capacity() );
279 CHECK( 8 == data.position() );
281 data.erase(data.begin()+1, data.begin()+4);
282 CHECK( 5 == data.position() );
283 CHECK( 7 == data.limit() );
284 CHECK( 7 == data.size() );
285 CHECK( 10 == data.capacity() );
286 CHECK( data[0] == 0 );
287 CHECK( data[1] == 4 );
288 CHECK( data[2] == 5 );
292 for(
auto it = data.begin(); it != data.end(); ++it) { *it=val++; }
293 CHECK( 5 == data.position() );
294 CHECK( 10 == data.limit() );
295 CHECK( 10 == data.size() );
296 CHECK( 10 == data.capacity() );
298 data.erase(data.begin()+3, data.begin()+8);
299 CHECK( 3 == data.position() );
300 CHECK( 5 == data.limit() );
301 CHECK( 5 == data.size() );
302 CHECK( 10 == data.capacity() );
303 CHECK( data[0] == 0 );
304 CHECK( data[1] == 1 );
305 CHECK( data[2] == 2 );
306 CHECK( data[3] == 8 );
307 CHECK( data[4] == 9 );
310 CHECK( 0 == data.position() );
311 CHECK( 0 == data.limit() );
312 CHECK( 0 == data.size() );
313 CHECK( 10 == data.capacity() );
315 CHECK( 0 == data.position() );
316 CHECK( 10 == data.limit() );
317 CHECK( 10 == data.size() );
318 CHECK( 10 == data.capacity() );
320 CHECK( 0 == data.position() );
321 CHECK( 0 == data.limit() );
322 CHECK( 0 == data.size() );
323 CHECK( 0 == data.capacity() );