Skip to main content
aboutsummaryrefslogtreecommitdiffstats
blob: 53151deb94e3e3cd156287c64d777a7c74160c4a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
RoomModel StaticConfigTest {
	
	import room.basic.types.boolean
	import room.basic.types.char
	import room.basic.types.int8
	import room.basic.types.int16
	import room.basic.types.int32
	import room.basic.types.int64
	import room.basic.types.float32
	import room.basic.types.float64
	import room.basic.types.string
	import room.basic.service.timing.PTimer
	import room.basic.service.timing.ATimingService

	LogicalSystem System_StaticConfigTest {
		SubSystemRef main: SubSystem_StaticConfigTest
	}

	SubSystemClass SubSystem_StaticConfigTest {
		LayerConnection ref top satisfied_by timer.timer
		ActorRef top: Top_ac
		ActorRef timer: ATimingService
	
		LogicalThread defaultThread
	}

	ActorClass Top_ac {
		Structure {
			ActorRef testee_1: Testee_1_ac
			ActorRef tester: Tester_ac
			LayerConnection ref testee_1 satisfied_by tester.spp
			SAP timer: PTimer
		}
		Behavior {
			ctor '''
				etUnit_open("log", "StaticConfigTest");
				etUnit_openTestSuite("org.eclipse.etrice.generator.c.tests.StaticConfigTest");'''
			dtor '''
				etUnit_closeTestSuite();
				etUnit_close();'''
			StateMachine {
				Transition init: initial -> state0 {
					action '''timer.startTimeout(1000);'''
				}
				Transition tr0: state0 -> state0 {
					triggers {
						<timeout: timer>
					}
					action '''etUnit_testFinished(-1);'''
				}
				State state0
			}
		}
	}

	ActorClass Tester_ac {
		Interface {
			SPP spp: TestProtocolWithDataClass
		}
		Structure {
			ServiceImplementation of spp
			Attribute caseId: int32

			// none config test
			Attribute data_3: Data_3_dc
			ActorRef testee_super2: Testee_Super2_ac
		}
		Behavior {
			StateMachine {
				Transition init: initial -> s1 {
				}
				State s1 {
					entry '''
						caseId = etUnit_openTestCase("AttrConfigTest_case_Tester_ac");
						Data_3_dc_varCheck3(&(data_3), caseId);
						etUnit_closeTestCase(caseId);'''
				}
			}
		}
	}

	ActorClass Testee_1_ac {
		Interface {
			conjugated Port conj_port: TestProtocolAttributes
		}
		Structure {
			usercode1 '''#include "etUnit/etUnit.h"'''
			external Port conj_port
			Attribute caseId: int32
			Attribute data_1: Data_1_dc
			Attribute enumval1: Enum_1 = "one"
			Attribute enumval2: Enum_2 = "four"
			ActorRef testee_2: Testee_2_ac
		}
		Behavior {
			StateMachine {
				Transition init: initial -> s1 {
				}
				State s1 {
					entry '''
						caseId = etUnit_openTestCase("AttrConfigTest_case_Testee_1_ac");
						Data_1_dc_varCheck1(&(data_1), caseId);
						EXPECT_FALSE(caseId,"testee_1:data_1:1", data_1.bool_c);
						EXPECT_TRUE(caseId,"testee_1:data_1:2", data_1.int8_c == 24);
						EXPECT_TRUE(caseId,"testee_1:data_1:3", data_1.int16_c == 48);
						EXPECT_TRUE(caseId,"testee_1:data_1:4", data_1.int32_c == 96);
						EXPECT_TRUE(caseId,"testee_1:data_1:5", data_1.int64_c == 192);
						EXPECT_EQUAL_FLOAT32(caseId,"testee_1:data_1:6", 9.6f, data_1.float32_c, 0.1f);
						EXPECT_EQUAL_FLOAT64(caseId,"testee_1:data_1:7", 19.2, data_1.float64_c, 0.1);
						EXPECT_TRUE(caseId,"testee_1:data_1:8", data_1.char_c == 'C');
						EXPECT_TRUE(caseId,"testee_1:varCheck:8.1", strcmp(data_1.string_c, ":)") == 0 );
						EXPECT_TRUE(caseId,"testee_1:data_1:10", data_1.bool_i);
						EXPECT_TRUE(caseId,"testee_1:data_1:11", data_1.int8_i == 2);
						EXPECT_TRUE(caseId,"testee_1:data_1:12", data_1.int16_i == 4);
						EXPECT_TRUE(caseId,"testee_1:data_1:13", data_1.int32_i == 8);
						EXPECT_TRUE(caseId,"testee_1:data_1:14", data_1.int64_i == 16);
						EXPECT_EQUAL_FLOAT32(caseId,"testee_1:data_1:15", 1.6f, data_1.float32_i, 0.1f);
						EXPECT_EQUAL_FLOAT64(caseId,"testee_1:data_1:16", 3.2, data_1.float64_i, 0.1);
						EXPECT_TRUE(caseId,"testee_1:data_1:17", data_1.char_i == 'I');
						EXPECT_TRUE(caseId,"testee_1:varCheck:18", strcmp(data_1.string_i, ":]") == 0 );
						EXPECT_TRUE(caseId,"testee_1:data_1:19", data_1.bool_array_c[0] == ET_TRUE && data_1.bool_array_c[1] == ET_FALSE);
						EXPECT_TRUE(caseId,"testee_1:data_1:20", data_1.int8_array_c[0] == 24 && data_1.int8_array_c[1] == 48);
						EXPECT_TRUE(caseId,"testee_1:data_1:21", data_1.int16_array_c[0] == 48 && data_1.int16_array_c[1] == 96);
						EXPECT_TRUE(caseId,"testee_1:data_1:22", data_1.int32_array_c[0] == 96 && data_1.int32_array_c[1] == 192);
						EXPECT_TRUE(caseId,"testee_1:data_1:23", data_1.int64_array_c[0] == 192 && data_1.int64_array_c[1] == 384);
						EXPECT_EQUAL_FLOAT32(caseId, "testee_1:data_1:24_1", 9.6f, data_1.float32_array_c[0], 0.1f);
						EXPECT_EQUAL_FLOAT32(caseId, "testee_1:data_1:24_2", 9.6f, data_1.float32_array_c[1], 0.1f);
						EXPECT_EQUAL_FLOAT64(caseId, "testee_1:data_1:25_1", 19.2, data_1.float64_array_c[0], 0.1);
						EXPECT_EQUAL_FLOAT64(caseId, "testee_1:data_1:25_2", 19.2, data_1.float64_array_c[1], 0.1);
						EXPECT_TRUE(caseId,"testee_1:data_1:26", strcmp(data_1.char_array_c, "Claz") == 0);
						EXPECT_TRUE(caseId,"testee_1:data_1:27", data_1.bool_array_i[0] == ET_TRUE && data_1.bool_array_i[1] == ET_TRUE);
						EXPECT_TRUE(caseId,"testee_1:data_1:28", data_1.int8_array_i[0] == 2 && data_1.int8_array_i[1] == 6);
						EXPECT_TRUE(caseId,"testee_1:data_1:29", data_1.int16_array_i[0] == 4 && data_1.int16_array_i[1] == 12);
						EXPECT_TRUE(caseId,"testee_1:data_1:30", data_1.int32_array_i[0] == 8 && data_1.int32_array_i[1] == 24);
						EXPECT_TRUE(caseId,"testee_1:data_1:31", data_1.int64_array_i[0] == 16 && data_1.int64_array_i[1] == 48);
						EXPECT_EQUAL_FLOAT32(caseId, "testee_1:data_1:32_1", 1.6f, data_1.float32_array_i[0], 0.1f);
						EXPECT_EQUAL_FLOAT32(caseId, "testee_1:data_1:32_2", 1.6f, data_1.float32_array_i[1], 0.1f);
						EXPECT_EQUAL_FLOAT64(caseId, "testee_1:data_1:33_1", 3.2, data_1.float64_array_i[0], 0.1);
						EXPECT_EQUAL_FLOAT64(caseId, "testee_1:data_1:33_2", 3.2, data_1.float64_array_i[1], 0.1);
						EXPECT_TRUE(caseId,"testee_1:data_1:34", strcmp(data_1.char_array_i, "Inst") == 0);
						EXPECT_TRUE(caseId,"testee_1:data_1:35", data_1.data_2.int32_c == 42);
						EXPECT_TRUE(caseId,"testee_1:data_1:36", data_1.data_2.int32_i == 43);
						EXPECT_TRUE(caseId,"testee_1:conj_port:36", ((TestProtocolAttributesConjPort_var*)self->constData->conj_port.varData)->array2_r[0] == 11);
						EXPECT_TRUE(caseId,"testee_1:conj_port:37", ((TestProtocolAttributesConjPort_var*)self->constData->conj_port.varData)->array2_r[1] == 22);
						EXPECT_TRUE(caseId,"testee_1:conj_port:38", ((TestProtocolAttributesConjPort_var*)self->constData->conj_port.varData)->array2_c[0] == 16);
						EXPECT_TRUE(caseId,"testee_1:conj_port:39", ((TestProtocolAttributesConjPort_var*)self->constData->conj_port.varData)->array2_c[1] == 32);
						EXPECT_TRUE(caseId,"testee_1:conj_port:40", ((TestProtocolAttributesConjPort_var*)self->constData->conj_port.varData)->array2_i[0] == 1);
						EXPECT_TRUE(caseId,"testee_1:conj_port:41", ((TestProtocolAttributesConjPort_var*)self->constData->conj_port.varData)->array2_i[1] == 2);
						etUnit_testFinished(caseId);
						EXPECT_TRUE(caseId,"testee_1:enumval1", enumval1 == Enum_1.two);
						EXPECT_TRUE(caseId,"testee_1:enumval2", enumval2 == Enum_2.three);
						etUnit_closeTestCase(caseId);'''
				}
			}
		}
	}

	ActorClass Testee_Super2_ac {
		Interface {
			Port reg_port: TestProtocolAttributes
		}
		Structure {
			usercode1 '''#include "etUnit/etUnit.h"'''
			external Port reg_port
			Attribute caseId: int32

			// test
			Attribute data_2: Data_2_dc
			Attribute float64_super_r: float64 = "1.1"
			Attribute float64_super_c: float64 = "1.1"
			Attribute float64_super_i: float64 = "1.1"
		}
		Behavior {
			ctor '''testInstanceConfig();'''
			Operation testInstanceConfig() '''
				caseId = etUnit_openTestCase("AttrConfigTest_case_Testee_Super2_ac");
				EXPECT_EQUAL_FLOAT64(caseId, "Testee_Super2_ac:1", 1.1, float64_super_r, 0.1);
				EXPECT_EQUAL_FLOAT64(caseId, "Testee_Super2_ac:2", 2.2, float64_super_c, 0.1);
				EXPECT_EQUAL_FLOAT64(caseId, "Testee_Super2_ac:3", 3.3, float64_super_i, 0.1);
				EXPECT_EQUAL_FLOAT32(caseId, "Testee_Super2_ac:7", 25.0f, ((TestProtocolAttributesPort_var*) self->constData->reg_port.varData)->float_i, 0.1f);
				EXPECT_EQUAL_FLOAT32(caseId, "Testee_Super2_ac:5", 4.0f, ((TestProtocolAttributesPort_var*) self->constData->reg_port.varData)->float_r, 0.1f);
				EXPECT_EQUAL_FLOAT32(caseId, "Testee_Super2_ac:6", 3.0f, ((TestProtocolAttributesPort_var*) self->constData->reg_port.varData)->float_c, 0.1f);
				etUnit_closeTestCase(caseId);'''
		}
	}

	ActorClass Testee_2_ac extends Testee_Super2_ac {
		Structure {
			SAP sap: TestProtocolWithDataClass
			Attribute int32_own_r: int32 = "11"
			Attribute int32_own_c: int32 = "11"
			Attribute int32_own_i: int32 = "11"
		}
		Behavior {
			override Operation testInstanceConfig() '''
				caseId = etUnit_openTestCase("AttrConfigTest_case_Testee_2_ac");
				EXPECT_EQUAL_FLOAT64(caseId, "Testee_2_ac:2", 4.4, float64_super_i, 0.1);
				EXPECT_EQUAL_FLOAT32(caseId, "Testee_2_ac:9", 50.0f, ((TestProtocolAttributesPort_var*) self->constData->reg_port.varData)->float_i, 0.1f);'''
			StateMachine {
				Transition init: initial -> s1 {
				}
				State s1 {
					entry '''
						EXPECT_EQUAL_FLOAT64(caseId, "Testee_2_ac:1", 2.2, float64_super_c, 0.1);
						EXPECT_TRUE(caseId, "Testee_2_ac:3", int32_own_r == 11);
						EXPECT_TRUE(caseId, "Testee_2_ac:4", int32_own_c == 12);
						EXPECT_TRUE(caseId, "Testee_2_ac:5", int32_own_i == 13);
						EXPECT_EQUAL_FLOAT32(caseId, "Testee_2_ac:6", 4.0f, ((TestProtocolAttributesPort_var*) self->constData->reg_port.varData)->float_r, 0.1f);
						EXPECT_EQUAL_FLOAT32(caseId, "Testee_2_ac:7", 3.0f, ((TestProtocolAttributesPort_var*) self->constData->reg_port.varData)->float_c, 0.1f);
						Data_3_dc_varCheck3(&(((TestProtocolWithDataClassConjPort_var*)self->constData->sap.varData)->sap_data_3), caseId);
						EXPECT_TRUE(caseId, "Testee_2_ac:sap:10", ((TestProtocolWithDataClassConjPort_var*)self->constData->sap.varData)->sap_data_2.int32_r == 1);
						EXPECT_TRUE(caseId, "Testee_2_ac:sap:11", ((TestProtocolWithDataClassConjPort_var*)self->constData->sap.varData)->sap_data_2.int32_c == 2);
						EXPECT_TRUE(caseId, "Testee_2_ac:sap:12", ((TestProtocolWithDataClassConjPort_var*)self->constData->sap.varData)->sap_data_2.int32_i == 3);
						etUnit_closeTestCase(caseId);'''
				}
			}
		}
	}

	ProtocolClass TestProtocolAttributes {
		incoming {
			Message dummy()
		}
		regular PortClass
		{
			Attribute float_r: float32 = "4"
			Attribute float_c: float32 = "16"
			Attribute float_i: float32 = "256"
		}
		conjugated PortClass
		{
			Attribute array2_r [2]: int64 = "{11,22}"
			Attribute array2_c [2]: int64 = "{0,0}"
			Attribute array2_i [2]: int64 = "{0,0}"
		}
	}

	ProtocolClass TestProtocolWithDataClass {
		usercode1 '''
			#include "Data_2_dc.h"
			#include "Data_3_dc.h"'''
		incoming {
			Message dummy()
		}

		// SAP
		conjugated PortClass
		{
			Attribute sap_data_2: Data_2_dc

			// none config test
			Attribute sap_data_3: Data_3_dc
		}
	}

	ExternalType extType -> "int" default "999"

	DataClass Data_Super1_dc {

		// PrimitiveType
		Attribute bool_r: boolean = "false"
		Attribute bool_c: boolean = "false"
		Attribute bool_i: boolean = "false"

		// Array
		Attribute bool_array_r [2]: boolean = "{ ET_FALSE, false }"
		Attribute bool_array_c [2]: boolean = "{ false, false }"
		Attribute bool_array_i [2]: boolean = "{ false, false }"
	}

	DataClass Data_1_dc extends Data_Super1_dc {
		usercode1 '''#include "etUnit/etUnit.h"'''

		Attribute int8_r: int8 = "8"
		Attribute int8_c: int8 = "8"
		Attribute int8_i: int8 = "8"
		Attribute int16_r: int16 = "16"
		Attribute int16_c: int16 = "16"
		Attribute int16_i: int16 = "16"
		Attribute int32_r: int32 = "32"
		Attribute int32_c: int32 = "32"
		Attribute int32_i: int32 = "32"
		Attribute int64_r: int64 = "64"
		Attribute int64_c: int64 = "64"
		Attribute int64_i: int64 = "64"
		Attribute float32_r: float32 = "3.2"
		Attribute float32_c: float32 = "3.2"
		Attribute float32_i: float32 = "3.2"
		Attribute float64_r: float64 = "6.4"
		Attribute float64_c: float64 = "6.4"
		Attribute float64_i: float64 = "6.4"
		Attribute char_r: char = "R"
		Attribute char_c: char = 'R'
		Attribute char_i: char = "R"
		Attribute string_r: string = ":/"
		Attribute string_c: string = ":/"
		Attribute string_i: string = ":/"

		// Array
		Attribute int8_array_r [2]: int8 = "{ 8, 16 }"
		Attribute int8_array_c [2]: int8 = "{ 8, 16 }"
		Attribute int8_array_i [2]: int8 = "{ 8, 16 }"
		Attribute int16_array_r [2]: int16 = "{ 16, 32 }"
		Attribute int16_array_c [2]: int16 = "{ 16, 32 }"
		Attribute int16_array_i [2]: int16 = "{ 16, 32 }"
		Attribute int32_array_r [2]: int32 = "{ 32, 64 }"
		Attribute int32_array_c [2]: int32 = "{ 32, 64 }"
		Attribute int32_array_i [2]: int32 = "{ 32, 64 }"
		Attribute int64_array_r [2]: int64 = "{ 64, 128 }"
		Attribute int64_array_c [2]: int64 = "{ 64, 128 }"
		Attribute int64_array_i [2]: int64 = "{ 64, 128 }"
		Attribute float32_array_r [2]: float32 = "{ 3.2, 6.4 }"
		Attribute float32_array_c [2]: float32 = "{ 3.2, 6.4 }"
		Attribute float32_array_i [2]: float32 = "{ 3.2, 6.4 }"
		Attribute float64_array_r [2]: float64 = "{ 6.4, 12.8 }"
		Attribute float64_array_c [2]: float64 = "{ 6.4, 12.8 }"
		Attribute float64_array_i [2]: float64 = "{ 6.4, 12.8 }"
		Attribute char_array_r [5]: char = "ROOM"
		Attribute char_array_c [5]: char = "ROOM"
		Attribute char_array_i [5]: char = "ROOM"

		// ComplexType
		Attribute data_2: Data_2_dc

		Operation varCheck1(caseId: int32) '''
			Data_2_dc_varCheck2(&(data_2), caseId);
			EXPECT_TRUE(caseId,"Data_1_dc:varCheck:1", bool_r == ET_FALSE);
			EXPECT_TRUE(caseId,"Data_1_dc:varCheck:2", int8_r == 8);
			EXPECT_TRUE(caseId,"Data_1_dc:varCheck:3", int16_r == 16);
			EXPECT_TRUE(caseId,"Data_1_dc:varCheck:4", int32_r == 32);
			EXPECT_TRUE(caseId,"Data_1_dc:varCheck:5", int64_r == 64);
			EXPECT_EQUAL_FLOAT32(caseId,"Data_1_dc:varCheck:6", 3.2f, float32_r, 0.1f);
			EXPECT_EQUAL_FLOAT64(caseId,"Data_1_dc:varCheck:7", 6.4, float64_r, 0.1);
			EXPECT_TRUE(caseId,"Data_1_dc:varCheck:8", char_r == 'R');
			EXPECT_TRUE(caseId,"Data_1_dc:varCheck:8", strcmp(string_r, ":/") == 0 );
			EXPECT_TRUE(caseId,"Data_1_dc:varCheck:10", bool_array_r[0] == ET_FALSE && bool_array_r[1] == ET_FALSE);
			EXPECT_TRUE(caseId,"Data_1_dc:varCheck:11", int8_array_r[0] == 8 && int8_array_r[1] == 16);
			EXPECT_TRUE(caseId,"Data_1_dc:varCheck:12", int16_array_r[0] == 16 && int16_array_r[1] == 32);
			EXPECT_TRUE(caseId,"Data_1_dc:varCheck:13", int32_array_r[0] == 32 && int32_array_r[1] == 64);
			EXPECT_TRUE(caseId,"Data_1_dc:varCheck:24", int64_array_r[0] == 64 && int64_array_r[1] == 128);
			EXPECT_EQUAL_FLOAT32(caseId, "Data_1_dc:varCheck:25_1", 3.2f, float32_array_r[0], 0.1f);
			EXPECT_EQUAL_FLOAT32(caseId, "Data_1_dc:varCheck:25_2", 6.4f, float32_array_r[1], 0.1f);
			EXPECT_EQUAL_FLOAT64(caseId, "Data_1_dc:varCheck:26_1", 6.4, float64_array_r[0], 0.1);
			EXPECT_EQUAL_FLOAT64(caseId, "Data_1_dc:varCheck:26_2", 12.8, float64_array_r[1], 0.1);
			EXPECT_TRUE(caseId,"Data_1_dc:varCheck:27", strcmp(char_array_r, "ROOM")==0);'''
	}

	DataClass Data_2_dc {
		usercode1 '''#include "etUnit/etUnit.h"'''
		Attribute int32_r: int32 = "1"
		Attribute int32_c: int32 = "1"
		Attribute int32_i: int32 = "1"
		Operation varCheck2(caseId: int32): void '''EXPECT_TRUE(caseId, "Data_2_dc:1", int32_r == 1);'''
	}

	DataClass Data_3_dc {
		usercode1 '''#include "etUnit/etUnit.h"'''

		// none config test
		Attribute primitive_ref: int32 ref
		Attribute primitive_ref_array [2]: int32 ref
		Attribute dataClass_array [2]: Data_2_dc
		Attribute dataClass_ref: Data_2_dc ref
		Attribute dataClass_ref_array [2]: Data_2_dc ref
		Attribute ext_type: extType
		Attribute ext_type_array [2]: extType
		Attribute ext_type_ref: extType ref
		Attribute ext_type_ref_array [2]: extType ref
		Operation varCheck3(caseId: int32): void '''
			EXPECT_TRUE(caseId, "Data_3_dc:1", primitive_ref == NULL);
			EXPECT_TRUE(caseId, "Data_3_dc:2", primitive_ref_array[0] == NULL && primitive_ref_array[1] == NULL);
			EXPECT_TRUE(caseId, "Data_3_dc:3", dataClass_ref == NULL);
			EXPECT_TRUE(caseId, "Data_3_dc:4", dataClass_array[0].int32_r == 1 && dataClass_array[0].int32_c == 1 && dataClass_array[0].int32_i == 1);
			EXPECT_TRUE(caseId, "Data_3_dc:4", dataClass_array[1].int32_r == 1 && dataClass_array[1].int32_c == 1 && dataClass_array[1].int32_i == 1);
			EXPECT_TRUE(caseId, "Data_3_dc:5", dataClass_ref == NULL);
			EXPECT_TRUE(caseId, "Data_3_dc:6", dataClass_ref_array[0] == NULL && dataClass_ref_array[1] == NULL);
			EXPECT_TRUE(caseId, "Data_3_dc:7", ext_type == 999);
			EXPECT_TRUE(caseId, "Data_3_dc:8", ext_type_array[0] == 999 && ext_type_array[1] == 999);
			EXPECT_TRUE(caseId, "Data_3_dc:9", ext_type_ref == NULL);
			EXPECT_TRUE(caseId, "Data_3_dc:10", ext_type_ref_array[0] == NULL && dataClass_ref_array[1] == NULL);'''
	}

	Enumeration Enum_1 {
		zero,
		one,
		two
	}

	Enumeration Enum_2 of int16 {
		three = 3,
		four
	}
}

Back to the top