Commit | Line | Data |
---|---|---|
970ed795 EL |
1 | /****************************************************************************** |
2 | * Copyright (c) 2000-2014 Ericsson Telecom AB | |
3 | * All rights reserved. This program and the accompanying materials | |
4 | * are made available under the terms of the Eclipse Public License v1.0 | |
5 | * which accompanies this distribution, and is available at | |
6 | * http://www.eclipse.org/legal/epl-v10.html | |
7 | ******************************************************************************/ | |
8 | module NegTestTestcases { | |
9 | ||
10 | // Test for NegativeTest of BER encoding | |
11 | // Last modified:2011-04-20, before/after/value optional field | |
12 | ||
13 | modulepar { | |
14 | integer tsp_maxInt := 1000000; | |
15 | integer tsp_step := -10; | |
16 | } | |
17 | ||
18 | import from NegTestTypes all; | |
19 | ||
20 | type component MyComp {}; | |
21 | ||
22 | //seq | |
23 | external function encode_myInteger10( in MyInteger10 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
24 | external function encode_mySeqEmpty(in MySeqEmpty pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
25 | external function encode_mySeqBool(in MySeqBool pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
26 | external function encode_mySeqNull(in MySeqNull pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
27 | external function encode_mySeqInt(in MySeqInt pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
28 | external function encode_mySeqMyEnum(in MySeqMyEnum pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
29 | external function encode_mySeqInt2( in MySeqInt2 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
30 | external function encode_mySeqIntSeqInt2( in MySeqIntSeqInt2 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
31 | external function encode_mySeqIntSeqInt2opt( in MySeqIntSeqInt2opt pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
32 | external function encode_mySeqIntSeqInt2optopt( in MySeqIntSeqInt2optopt pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
33 | external function encode_mySeqInt3( in MySeqInt3 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
34 | external function encode_mySeqInt3opt( in MySeqInt3opt pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
35 | external function encode_mySeqInt4( in MySeqInt4 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
36 | external function encode_mySeqOJKL( in MySeqOJKL pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
37 | external function encode_mySeqIOKL( in MySeqIOKL pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
38 | external function encode_mySeqReal(in MySeqReal pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
39 | external function encode_mySeqStr(in MySeqStr pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
40 | external function encode_mySeqBitStr(in MySeqBitStr pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
41 | external function encode_mySeqOctStr(in MySeqOctStr pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
42 | external function encode_mySeqIntReal( in MySeqIntReal pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
43 | external function encode_mySeqIntStr( in MySeqIntStr pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
44 | external function encode_mySeqIntBitStr( in MySeqIntBitStr pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
45 | external function encode_mySeqISKL( in MySeqISKL pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
46 | external function encode_mySeqIntSeqIntSeqInt2( in MySeqIntSeqIntSeqInt2 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
47 | external function encode_mySeqIntSeqIntSeqInt2SeqReal2( in MySeqIntSeqIntSeqInt2SeqReal2 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
48 | external function encode_mySeqIntSeqReal2( in MySeqIntSeqReal2 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
49 | external function encode_mySeqSeqIntSeqInt2SeqReal2( in MySeqSeqIntSeqInt2SeqReal2 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
50 | external function encode_mySeqIntSeqIntSeqInt2optoptSeqReal2( in MySeqIntSeqIntSeqInt2optoptSeqReal2 pdu) return octetstring | |
51 | with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
52 | external function encode_mySeq_SeqSeqIntSeqInt2SeqReal2_SeqSeqIntSeqInt2SeqReal2( in MySeq_SeqSeqIntSeqInt2SeqReal2_SeqSeqIntSeqInt2SeqReal2 pdu) return octetstring | |
53 | with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
54 | external function encode_mySeq_SeqSeqIntSeqInt2optoptSeqReal2_SeqSeqIntSeqInt2optoptSeqReal2( | |
55 | in MySeq_SeqSeqIntSeqInt2optoptSeqReal2_SeqSeqIntSeqInt2optoptSeqReal2 pdu) return octetstring | |
56 | with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
57 | ||
58 | external function encode_mySeqInt4opt( | |
59 | in MySeqInt4opt pdu) return octetstring | |
60 | with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
61 | ||
62 | external function encode_mySeqInt5opt( | |
63 | in MySeqInt5opt pdu) return octetstring | |
64 | with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
65 | ||
66 | //seq of | |
67 | external function encode_mySeqOfBool(in MySeqOfBool pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
68 | external function encode_mySeqOfNull(in MySeqOfNull pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
69 | external function encode_mySeqOfInt(in MySeqOfInt pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
70 | external function encode_mySeqOfMyEnum(in MySeqOfMyEnum pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
71 | external function encode_mySeqOfEnum(in MySeqOfEnum pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
72 | external function encode_mySeqOfReal( in MySeqOfReal pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
73 | external function encode_mySeqOfBitStr(in MySeqOfBitStr pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
74 | external function encode_mySeqOfOctStr(in MySeqOfOctStr pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
75 | external function encode_mySeqOfObjId(in MySeqOfObjId pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
76 | external function encode_mySeqOfMyUnionBT(in MySeqOfMyUnionBT pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
77 | external function encode_mySeqOfSeqSeqIntSeqInt2SeqReal2(in MySeqOfSeqSeqIntSeqInt2SeqReal2 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
78 | ||
79 | //set | |
80 | external function encode_mySetEmpty(in MySetEmpty pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
81 | external function encode_mySetBool(in MySetBool pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
82 | external function encode_mySetNull(in MySetNull pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
83 | external function encode_mySetInt(in MySetInt pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
84 | external function encode_mySetMyEnum(in MySetMyEnum pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
85 | external function encode_mySetInt2( in MySetInt2 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
86 | external function encode_mySetInt2opt( in MySetInt2opt pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
87 | external function encode_mySetIntSeqInt2( in MySetIntSeqInt2 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
88 | external function encode_mySetIntSeqInt2T( in MySetIntSeqInt2T pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
89 | external function encode_mySetIntSeqInt2opt( in MySetIntSeqInt2opt pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
90 | external function encode_mySetIntSeqInt2Topt( in MySetIntSeqInt2Topt pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
91 | external function encode_mySetIntSeqInt2optopt( in MySetIntSeqInt2optopt pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
92 | external function encode_mySetIntSeqInt2Toptopt( in MySetIntSeqInt2Toptopt pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
93 | external function encode_mySetInt3( in MySetInt3 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
94 | external function encode_mySetInt3opt( in MySetInt3opt pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
95 | external function encode_mySetInt4( in MySetInt4 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
96 | external function encode_mySetInt4opt( in MySetInt4opt pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
97 | external function encode_mySetOJKL( in MySetOJKL pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
98 | external function encode_mySetIOKL( in MySetIOKL pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
99 | external function encode_mySetReal(in MySetReal pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
100 | external function encode_mySetStr(in MySetStr pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
101 | external function encode_mySetBitStr(in MySetBitStr pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
102 | external function encode_mySetOctStr(in MySetOctStr pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
103 | external function encode_mySetIntReal( in MySetIntReal pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
104 | external function encode_mySetIntStr( in MySetIntStr pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
105 | external function encode_mySetIntBitStr( in MySetIntBitStr pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
106 | external function encode_mySetISKL( in MySetISKL pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
107 | external function encode_mySetISKLopt( in MySetISKLopt pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
108 | external function encode_mySetIS2KLopt( in MySetIS2KLopt pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
109 | external function encode_mySetISOKL( in MySetISOKL pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
110 | external function encode_mySetISOKLopt( in MySetISOKLopt pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
111 | external function encode_mySetIOSKL( in MySetIOSKL pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
112 | external function encode_mySetIOSKLopt( in MySetIOSKLopt pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
113 | external function encode_mySetIntSeqIntSeqInt2( in MySetIntSeqIntSeqInt2 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
114 | external function encode_mySetIntSeqIntSeqInt2SeqReal2( in MySetIntSeqIntSeqInt2SeqReal2 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
115 | external function encode_mySetIntSeqReal2( in MySetIntSeqReal2 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
116 | external function encode_mySetSeqIntSeqInt2SeqReal2( in MySetSeqIntSeqInt2SeqReal2 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
117 | external function encode_mySetIntSeqIntSeqInt2optoptSeqReal2( in MySetIntSeqIntSeqInt2optoptSeqReal2 pdu) return octetstring | |
118 | with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
119 | external function encode_mySet_SeqSeqIntSeqInt2SeqReal2_SeqSeqIntSeqInt2SeqReal2( in MySet_SeqSeqIntSeqInt2SeqReal2_SeqSeqIntSeqInt2SeqReal2 pdu) return octetstring | |
120 | with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
121 | external function encode_mySet_SeqSeqIntSeqInt2optoptSeqReal2_SeqSeqIntSeqInt2optoptSeqReal2( | |
122 | in MySet_SeqSeqIntSeqInt2optoptSeqReal2_SeqSeqIntSeqInt2optoptSeqReal2 pdu) return octetstring | |
123 | with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
124 | ||
125 | //set of | |
126 | external function encode_mySetOfBool(in MySetOfBool pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
127 | external function encode_mySetOfNull(in MySetOfNull pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
128 | external function encode_mySetOfInt(in MySetOfInt pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
129 | external function encode_mySetOfMyEnum(in MySetOfMyEnum pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
130 | external function encode_mySetOfEnum(in MySetOfEnum pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
131 | external function encode_mySetOfReal( in MySetOfReal pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
132 | external function encode_mySetOfBitStr(in MySetOfBitStr pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
133 | external function encode_mySetOfOctStr(in MySetOfOctStr pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
134 | external function encode_mySetOfObjId(in MySetOfObjId pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
135 | external function encode_mySetOfMyUnionBT(in MySetOfMyUnionBT pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
136 | external function encode_mySetOfSeqSeqIntSeqInt2SeqReal2(in MySetOfSeqSeqIntSeqInt2SeqReal2 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
137 | ||
138 | //union | |
139 | external function encode_myUnionBasicTypes( in MyUnionBasicTypes pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
140 | external function encode_myUnionComplexTypes( in MyUnionComplexTypes pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } | |
141 | external function decode_myUnionComplexTypes( in octetstring o) return MyUnionComplexTypes with { extension "prototype(convert) decode(BER:BER_ACCEPT_ALL)" } | |
142 | ||
143 | ||
144 | group Sequences{ | |
145 | template MySeqInt2opt t_msi2opt := { i:= 1, j := 2 } | |
146 | template MySeqInt2opt t_msi2optomit := { i:= 1, j := omit } | |
147 | const MySeqInt2 c_msi2 := { i:= 1, j := 2 } | |
148 | const MySeqInt2opt c_msi2opt := { i:= 1, j := 2 } | |
149 | const MySeqInt2opt c_msi2optomit := { i:= 1, j := omit } | |
150 | ||
151 | template MySeqEmpty t_seqEmpty :={} | |
152 | template MySeqBool t_msb(template boolean p_b) := {b:= p_b} | |
153 | template MySeqNull t_msn := { n:= NULL } | |
154 | ||
155 | template MySeqInt t_msi(template integer p_i) := {i:= p_i} | |
156 | template MySeqInt t_msi_omit(template integer p_i) := {i:= p_i} with { erroneous (i) "value:= omit" } | |
157 | template MySeqInt t_msi_valueSameTypeE(template integer p_i) := {i:= p_i} with { erroneous (i) "value:= integer:5" } | |
158 | template MySeqInt t_msi_valueSameTypeI(template integer p_i) := {i:= p_i} with { erroneous (i) "value:= 5" } //implicit type | |
159 | template MySeqInt t_msi_valueDiffTypeExplicitString(template integer p_i) := {i:= p_i} with { erroneous (i) "value:= MyCharstring:""subidubi""" } | |
160 | ||
161 | template MySeqInt t_msi_valueDiffTypeExplicitBoolean(template integer p_i) := {i:= p_i} with { erroneous (i) "value:= boolean:true" } | |
162 | template MySeqInt t_msi_valueDiffTypeImplicitBoolean(template integer p_i) := {i:= p_i} with { erroneous (i) "value:= true" } | |
163 | template MySeqInt t_msi_valueDiffTypeExplicitOctStr(template integer p_i) := {i:= p_i} with { erroneous (i) "value:= octetstring:'BABA'O" } | |
164 | template MySeqInt t_msi_valueDiffTypeImplicitOctStr(template integer p_i) := {i:= p_i} with { erroneous (i) "value:= 'BABA'O" } | |
165 | template MySeqInt t_msi_valueDiffTypeExplicitEnum(template integer p_i) := {i:= p_i} with { erroneous (i) "value:= MyEnum:second" } | |
166 | template MySeqInt t_msi_valueDiffTypeExplicitFloat(template integer p_i) := {i:= p_i} with { erroneous (i) "value:= float:5.0" } | |
167 | template MySeqInt t_msi_valueDiffTypeImplicitFloat(template integer p_i) := {i:= p_i} with { erroneous (i) "value:= 5.0" } | |
168 | template MySeqInt t_msi_valueDiffTypeExplicitBitString(template integer p_i) := {i:= p_i} with { erroneous (i) "value:= bitstring:'01011000'B" } | |
169 | template MySeqInt t_msi_valueDiffTypeImplicitBitString(template integer p_i) := {i:= p_i} with { erroneous (i) "value:= '01011000'B" } | |
170 | template MySeqInt t_msi_valueDiffTypeRaw(template integer p_i) := {i:= p_i} with { erroneous (i) "value(raw):= 'FF'O" } | |
171 | ||
172 | template MySeqInt2 t_msi2(template integer p_i, template integer p_j) := {i:= p_i, j:=p_j} | |
173 | template MySeqInt2 t_msi2_omiti(template integer p_i, template integer p_j) := {i:= p_i, j:=p_j} with { erroneous (i) "value:= omit" } | |
174 | template MySeqInt2 t_msi2_omitj(template integer p_i, template integer p_j) := {i:= p_i, j:=p_j} with { erroneous (j) "value:= omit" } | |
175 | template MySeqInt2 t_msi2_beforeomitj(template integer p_i, template integer p_j) := {i:= p_i, j:=p_j} with { erroneous (j) "before:= omit all" } | |
176 | template MySeqInt2 t_msi2_afteromiti(template integer p_i, template integer p_j) := {i:= p_i, j:=p_j} with { erroneous (i) "after:= omit all" } | |
177 | template MySeqInt2 t_msi2_valueSameTypeE(template integer p_i, template integer p_j) := {i:= p_i, j:=p_j} with { erroneous (j) "value:= integer:5" } | |
178 | template MySeqInt2 t_msi2_valueSameTypeI(template integer p_i, template integer p_j) := {i:= p_i, j:=p_j} with { erroneous (j) "value := 5" } | |
179 | template MySeqInt2 t_msi2_valueDiffTypeExplicitFloat(template integer p_i, template integer p_j) := {i:= p_i, j:=p_j} with { erroneous (j) "value:= float:5.0" } | |
180 | template MySeqInt2 t_msi2_valueDiffTypeImplicitFloat(template integer p_i, template integer p_j) := {i:= p_i, j:=p_j} with { erroneous (j) "value:= 5.0" } | |
181 | template MySeqInt2 t_msi2_valueDiffTypeExplicitString(template integer p_i, template integer p_j):={i:=p_i, j:=p_j} with { erroneous (j) "value:= MyCharstring:""subidubi""" } | |
182 | template MySeqInt2 t_msi2_valueDiffTypeExplicitBitString(template integer p_i, template integer p_j):={i:=p_i, j:=p_j} with { erroneous (j) "value:= bitstring:'01011000'B" } | |
183 | template MySeqInt2 t_msi2_valueDiffTypeImplicitBitString(template integer p_i, template integer p_j):={i:=p_i, j:=p_j} with { erroneous (j) "value:= '01011000'B" } | |
184 | //variable related values: | |
185 | template MySeqInt2 t_msi2_valueSeqIntV(template integer p_i, template integer p_j):={i:=p_i, j:=p_j} with { erroneous (j) "value := MySeqInt2:{1,2}" } | |
186 | template MySeqInt2 t_msi2_valueSeqIntOptV(template integer p_i, template integer p_j):={i:=p_i, j:=p_j} with { erroneous (j) "value := MySeqInt2opt:{1,2}" } //t_msi2opt | |
187 | template MySeqInt2 t_msi2_valueSeqIntC(template integer p_i, template integer p_j):={i:=p_i, j:=p_j} with { erroneous (j) "value := MySeqInt2:c_msi2" } | |
188 | template MySeqInt2 t_msi2_valueSeqIntOptC(template integer p_i, template integer p_j):={i:=p_i, j:=p_j} with { erroneous (j) "value := MySeqInt2opt:c_msi2opt" } | |
189 | template MySeqInt2 t_msi2_valueSeqInt2OptOmitC(template integer p_i, template integer p_j):={i:=p_i, j:=p_j} with { erroneous (j) "value:= c_msi2optomit" } | |
190 | template MySeqInt2 t_msi2_valueSeqInt2iiC(template integer p_i, template integer p_j):={i:=p_i, j:=p_j} with { erroneous (i) "value:=integer:c_msi2.i" } | |
191 | template MySeqInt2 t_msi2_valueSeqInt2ijC(template integer p_i, template integer p_j):={i:=p_i, j:=p_j} with { erroneous (i) "value:=integer:c_msi2.j" } | |
192 | template MySeqInt2 t_msi2_valueSeqInt2jiC(template integer p_i, template integer p_j):={i:=p_i, j:=p_j} with { erroneous (j) "value:=integer:c_msi2.i" } | |
193 | template MySeqInt2 t_msi2_valueSeqInt2jjC(template integer p_i, template integer p_j):={i:=p_i, j:=p_j} with { erroneous (j) "value:=integer:c_msi2.j" } | |
194 | template MySeqInt2 t_msi2_valueSeqIntOptFieldC(template integer p_i, template integer p_j):={i:=p_i, j:=p_j} with { erroneous (j) "value:=integer:c_msi2opt.j" } ;//2 | |
195 | ||
196 | template MySeqIntSeqInt2 t_msisi2_trial(template integer p_i, template integer p_j, template integer p_k) := { p_i, { p_j, p_k} } //not used yet | |
197 | template MySeqIntSeqInt2 t_msisi2(template integer p_i, template integer p_j, template integer p_k) := { i:= p_i, jk:= { i:=p_j, j:=p_k} }; | |
198 | template MySeqIntSeqInt2 t_msisi2_omiti(template integer p_i, template integer p_j, template integer p_k) := { i:= p_i, jk:= { i:=p_j, j:=p_k} } with { erroneous (i) "value:= omit" }; | |
199 | template MySeqIntSeqInt2 t_msisi2_omitjki(template integer p_i, template integer p_j, template integer p_k) := { i:= p_i, jk:= { i:=p_j, j:=p_k} } with { erroneous (jk.i) "value:= omit" }; | |
200 | template MySeqIntSeqInt2 t_msisi2_omitjkj(template integer p_i, template integer p_j, template integer p_k) := { i:= p_i, jk:= { i:=p_j, j:=p_k} } with { erroneous (jk.j) "value:= omit" }; | |
201 | template MySeqIntSeqInt2 t_msisi2_rawjki(template integer p_i, template integer p_j, template integer p_k) := { i:= p_i, jk:= { i:=p_j, j:=p_k} } with { | |
202 | erroneous (jk.i) "value(raw):= 'ABBA'O" }; | |
203 | template MySeqIntSeqInt2 t_msisi2_rawjkj(template integer p_i, template integer p_j, template integer p_k) := { i:= p_i, jk:= { i:=p_j, j:=p_k} } with { | |
204 | erroneous (jk.j) "value(raw):= 'ABBA'O" }; | |
205 | template MySeqIntSeqInt2 t_msisi2_afteribeforej(template integer p_i, template integer p_j, template integer p_k) := { i:= p_i, jk:= { i:=p_j, j:=p_k} } with { | |
206 | erroneous(i) "after:= 'ABBA'O"; | |
207 | erroneous(jk.i) "before:='BABA'O" | |
208 | }; | |
209 | ||
210 | // | |
211 | template MySeqInt3 t_msi3(template integer p_i, template integer p_j, template integer p_k) := {i:= p_i, j:=p_j, k:=p_k} | |
212 | ||
213 | template MySeqInt4 t_msi4(template integer p_i, template integer p_j, template integer p_k,template integer p_l ) := {i:= p_i, j:=p_j, k:=p_k, l:=p_l} | |
214 | ||
215 | template MySeqInt5opt t_msi5opt(template integer p_i, template integer p_j, template integer p_k,template integer p_l , template integer p_m) := {i:= p_i, j:=p_j, k:=p_k, l:=p_l, m:=p_m} | |
216 | template MySeqInt4 t_msi4_omiti(template integer p_i, template integer p_j, template integer p_k,template integer p_l ) := {i:= p_i, j:=p_j, k:=p_k, l:=p_l} with { erroneous (i) "value:= omit" } | |
217 | template MySeqInt4 t_msi4_omitj(template integer p_i, template integer p_j, template integer p_k,template integer p_l ) := {i:= p_i, j:=p_j, k:=p_k, l:=p_l} with { erroneous (j) "value:= omit" } | |
218 | template MySeqInt4 t_msi4_omitk(template integer p_i, template integer p_j, template integer p_k,template integer p_l ) := {i:= p_i, j:=p_j, k:=p_k, l:=p_l} with { erroneous (k) "value:= omit" } | |
219 | template MySeqInt4 t_msi4_omitl(template integer p_i, template integer p_j, template integer p_k,template integer p_l ) := {i:= p_i, j:=p_j, k:=p_k, l:=p_l} | |
220 | with { erroneous (l) "value:= omit" } | |
221 | ||
222 | template MySeqInt4opt t_msi4opt_omitl(template integer p_i, template integer p_j, template integer p_k,template integer p_l ) := {i:= p_i, j:=p_j, k:=p_k, l:=p_l} | |
223 | with { erroneous (l) "value:= omit" } | |
224 | ||
225 | template MySeqInt4opt t_msi4opt_valueLInteger(template integer p_i, template integer p_j, template integer p_k, template integer p_l) := {i:= p_i, j:=p_j, k:=p_k,l:=p_l} | |
226 | with { erroneous (l) "value:= 10" } //k=10 | |
227 | ||
228 | template MySeqInt4opt t_msi4opt_beforeLInteger(template integer p_i, template integer p_j, template integer p_k, template integer p_l) := {i:= p_i, j:=p_j, k:=p_k,l:=p_l} | |
229 | with { erroneous (l) "before:= 10" } | |
230 | ||
231 | template MySeqInt4opt t_msi4opt_afterLInteger(template integer p_i, template integer p_j, template integer p_k, template integer p_l) := {i:= p_i, j:=p_j, k:=p_k,l:=p_l} | |
232 | with { erroneous (l) "after:= 10" } | |
233 | ||
234 | template MySeqInt4 t_msi4_valueiOctetStr(template integer p_i, template integer p_j, template integer p_k, template integer p_l) := {i:= p_i, j:=p_j, k:=p_k,l:=p_l} | |
235 | with { erroneous (i) "value:= 'FEDCBA98'O" } | |
236 | template MySeqInt4 t_msi4_valuejOctetStr(template integer p_i, template integer p_j, template integer p_k,template integer p_l) := {i:= p_i, j:=p_j, k:=p_k,l:=p_l} | |
237 | with { erroneous (j) "value:= 'FEDCBA98'O" } | |
238 | ||
239 | template MySeqInt4 t_msi4_valueiRaw(template integer p_i, template integer p_j, template integer p_k,template integer p_l) := {i:= p_i, j:=p_j, k:=p_k,l:=p_l} | |
240 | with { erroneous (i) "value(raw):= '0202ABBA'O" } | |
241 | ||
242 | template MySeqInt4 t_msi4_valuejRaw(template integer p_i, template integer p_j, template integer p_k,template integer p_l) := {i:= p_i, j:=p_j, k:=p_k,l:=p_l} | |
243 | with { erroneous (j) "value(raw):= '0202ABBA'O" } | |
244 | ||
245 | template MySeqInt4 t_msi4_valuekRaw(template integer p_i, template integer p_j, template integer p_k,template integer p_l) := {i:= p_i, j:=p_j, k:=p_k,l:=p_l} | |
246 | with { erroneous (k) "value(raw):= '0202ABBA'O" } | |
247 | ||
248 | template MySeqInt4 t_msi4_valuelRaw(template integer p_i, template integer p_j, template integer p_k,template integer p_l) := {i:= p_i, j:=p_j, k:=p_k,l:=p_l} | |
249 | with { erroneous (l) "value(raw):= '0202ABBA'O" } | |
250 | ||
251 | template MySeqOJKL t_msojkl(template octetstring p_o, template integer p_j, template integer p_k,template integer p_l ) := {o:= p_o, j:=p_j, k:=p_k, l:=p_l} | |
252 | template MySeqIOKL t_msiokl(template integer p_i, template octetstring p_o, template integer p_k,template integer p_l ) := {i:=p_i, o:=p_o, k:=p_k, l:=p_l} | |
253 | ||
254 | template MySeqISKL t_msiskl(template integer p_i, template MySeqInt4 p_s, template integer p_k,template integer p_l ) := {i:=p_i, s:=p_s, k:=p_k, l:=p_l} | |
255 | template MySeqISKL t_msiskl_valueSomit(template integer p_i, template MySeqInt4 p_s, template integer p_k,template integer p_l ) := {i:=p_i, s:=p_s, k:=p_k, l:=p_l} with { erroneous (s) "value:= omit" } | |
256 | template MySeqISKL t_msiskl_valueSIomit(template integer p_i, template MySeqInt4 p_s, template integer p_k,template integer p_l ) := {i:=p_i, s:=p_s, k:=p_k, l:=p_l} with { erroneous (s.i) "value:= omit" } | |
257 | template MySeqISKL t_msiskl_valueSISJomit(template integer p_i, template MySeqInt4 p_s, template integer p_k,template integer p_l ) := {i:=p_i, s:=p_s, k:=p_k, l:=p_l} with { erroneous (s.i) "value:= omit" | |
258 | erroneous (s.j) "value:= omit"} | |
259 | template MySeqISKL t_msiskl_valueSraw(template integer p_i, template MySeqInt4 p_s, template integer p_k,template integer p_l ) := {i:=p_i, s:=p_s, k:=p_k, l:=p_l} with { erroneous (s) "value(raw):= '0202ABBA'O" } | |
260 | //===seq of seq of seq:== | |
261 | ||
262 | template MySeqIntSeqIntSeqInt2SeqReal2 t_msisisi2r2_omiti(template integer p_i,template MySeqIntSeqInt2 p_jkl, template MySeqReal2 p_xy) := | |
263 | { i:=p_i, jkl:=p_jkl, xy:=p_xy} with { erroneous(i) "value:=omit"} | |
264 | ||
265 | template MySeqIntSeqIntSeqInt2SeqReal2 t_msisisi2r2_omitjkl(template integer p_i,template MySeqIntSeqInt2 p_jkl, template MySeqReal2 p_xy) := | |
266 | { i:=p_i, jkl:=p_jkl, xy:=p_xy} with { erroneous(jkl) "value:=omit"} | |
267 | ||
268 | template MySeqIntSeqIntSeqInt2SeqReal2 t_msisisi2r2_omitxy(template integer p_i,template MySeqIntSeqInt2 p_jkl, template MySeqReal2 p_xy) := | |
269 | { i:=p_i, jkl:=p_jkl, xy:=p_xy} with { erroneous(xy) "value:=omit"} | |
270 | ||
271 | template MySeqIntSeqIntSeqInt2SeqReal2 t_msisisi2r2_valuexy(template integer p_i,template MySeqIntSeqInt2 p_jkl, template MySeqReal2 p_xy) := | |
272 | { i:=p_i, jkl:=p_jkl, xy:=p_xy} with { erroneous(xy) "value:=MySeqReal2:{15.0,16.0}"} | |
273 | ||
274 | template MySeqIntSeqIntSeqInt2SeqReal2 t_msisisi2r2_valuex_y(template integer p_i,template MySeqIntSeqInt2 p_jkl, template MySeqReal2 p_xy) := | |
275 | { i:=p_i, jkl:=p_jkl, xy:=p_xy} with { | |
276 | erroneous(xy.x) "value:=float:15.0"; | |
277 | erroneous(xy.y) "value:=float:16.0" | |
278 | } | |
279 | ||
280 | template MySeqIntSeqIntSeqInt2SeqReal2 t_msisisi2r2_valuex_y_expr1(template integer p_i,template MySeqIntSeqInt2 p_jkl, template MySeqReal2 p_xy) := | |
281 | { i:=p_i, jkl:=p_jkl, xy:=p_xy} with { | |
282 | erroneous(xy.x) "value:=float:15.0*3.0"; | |
283 | erroneous(xy.y) "value:=float:16.0*4.0" | |
284 | } | |
285 | template MySeqIntSeqIntSeqInt2SeqReal2 t_msisisi2r2_valuex_y_expr2(template integer p_i,template MySeqIntSeqInt2 p_jkl, template MySeqReal2 p_xy) := | |
286 | { i:=p_i, jkl:=p_jkl, xy:=p_xy} with { | |
287 | erroneous(xy.x) "value:=float:(1.0+10.0*(2.0+10.0*(3.0+10.0*(4.0+10.0*(5.0+10.0*6.0)))))"; //Horner | |
288 | erroneous(xy.y) "value:=float:16.32/5.1" | |
289 | } | |
290 | template MySeqIntSeqIntSeqInt2SeqReal2 t_msisisi2r2_omitjkll(template integer p_i,template MySeqIntSeqInt2 p_jkl, template MySeqReal2 p_xy) := | |
291 | { i:=p_i, jkl:=p_jkl, xy:=p_xy} with { erroneous(jkl.jk.j) "value:=omit"} | |
292 | ||
293 | //Sequence of depth 3: | |
294 | ||
295 | template MySeq_SeqSeqIntSeqInt2SeqReal2_SeqSeqIntSeqInt2SeqReal2 t_msssi2sr2ssi2sr2_omit(template MySeqSeqIntSeqInt2SeqReal2 p_s1,template MySeqSeqIntSeqInt2SeqReal2 p_s2) | |
296 | :={ s1:=p_s1,s2:=p_s2} with { erroneous(s1.jkl.jk.j) "value:=omit" } | |
297 | ||
298 | //real (float) | |
299 | template MySeqReal t_msr(template float p_x) := { x:=p_x } | |
300 | template MySeqReal2 t_mr2(template float p_x, template float p_y):={x:=p_x, y:=p_y} | |
301 | ||
302 | //charstring->VisibleString | |
303 | template MySeqStr t_msstr(template charstring p_s) := { s := p_s } | |
304 | ||
305 | //bitstring: | |
306 | template MySeqBitStr t_msbitstr(template bitstring p_b) := { b := p_b }; | |
307 | template MySeqOctStr t_msos(template octetstring p_o) := { o := p_o }; | |
308 | template MySeqIntReal t_msir(template integer p_i, template float p_x ) := { i:=p_i, x:=p_x }; | |
309 | ||
310 | template MySeqIntStr t_msistr(template integer p_i, template MyCharstring p_s ) := { i:=p_i, s:=p_s }; | |
311 | ||
312 | template MySeqIntBitStr t_msibitstr(template integer p_i, template bitstring p_b ) := { i:=p_i, b:=p_b }; | |
313 | ||
314 | ||
315 | //====set of related templates ======== | |
316 | ||
317 | //==== union related templates ======== | |
318 | // It caused Seg fault - earlier :) | |
319 | template MyUnionBasicTypes t_mubt_boolean1( template boolean p_b) := { b:= p_b } with { erroneous(b) "value:=omit" } | |
320 | // template MyUnionBasicTypes t_mubt_boolean2( template boolean p_b) := { b:= p_b } with { | |
321 | // erroneous(b) "value:=omit"; | |
322 | // erroneous(b) "before(raw):='ABBA'O" | |
323 | // } | |
324 | ||
325 | template MyUnionBasicTypes t_mubt_boolean3( template boolean p_b) := { b:= p_b } with { erroneous(b) "value:=false" } //encoded into ''O | |
326 | template MyUnionBasicTypes t_mubt_booleanRaw( template boolean p_b) := { b:= p_b } with { erroneous(b) "value(raw):='ABBA'O" } | |
327 | template MyUnionBasicTypes t_mubt_nullRaw := { n:= NULL } with { erroneous(n) "value(raw):='ABBA'O" } | |
328 | template MyUnionBasicTypes t_mubt_integerRaw( template integer p_i) := { i:= p_i } with { erroneous(i) "value(raw):='ABBA'O" } | |
329 | template MyUnionBasicTypes t_mubt_enumRaw( template MyEnum p_e) := { e:= p_e } with { erroneous(e) "value(raw):='ABBA'O" } | |
330 | template MyUnionBasicTypes t_mubt_realRaw( template float p_r) := { r:= p_r } with { erroneous(r) "value(raw):='ABBA'O" } | |
331 | template MyUnionBasicTypes t_mubt_bitstrRaw( template bitstring p_bs) := { bs:= p_bs } with { erroneous(bs) "value(raw):='ABBA'O" } | |
332 | template MyUnionBasicTypes t_mubt_octetstrRaw( template octetstring p_os) := { os:= p_os } with { erroneous(os) "value(raw):='ABBA'O" } | |
333 | template MyUnionBasicTypes t_mubt_objidRaw( template objid p_oi) := { oi:= p_oi } with { erroneous(oi) "value(raw):='ABBA'O" } | |
334 | ||
335 | template MyUnionComplexTypes t_muct_0_1( template float p_f1, template float p_f2, template float p_f3) := { sofreal:={p_f1,p_f2,p_f3} } with { erroneous(sofreal[0], sofreal[1]) "value :=omit" } | |
336 | template MyUnionComplexTypes t_muct_0_2( template float p_f1, template float p_f2, template float p_f3) := { sofreal:={p_f1,p_f2,p_f3} } with { erroneous(sofreal[0], sofreal[2]) "value :=omit" } | |
337 | template MyUnionComplexTypes t_muct_1_2( template float p_f1, template float p_f2, template float p_f3) := { sofreal:={p_f1,p_f2,p_f3} } with { erroneous(sofreal[1], sofreal[2]) "value :=omit" } | |
338 | template MyUnionComplexTypes t_muct_2_1( template float p_f1, template float p_f2, template float p_f3) := { sofreal:={p_f1,p_f2,p_f3} } with { erroneous(sofreal[2], sofreal[1]) "value :=omit" } | |
339 | template MyUnionComplexTypes t_muct_0_1_2( template float p_f1, template float p_f2, template float p_f3) := { sofreal:={p_f1,p_f2,p_f3} } with { erroneous(sofreal[0], sofreal[1], sofreal[2]) "value :=omit" } | |
340 | template MyUnionComplexTypes t_muct_0_2_1( template float p_f1, template float p_f2, template float p_f3) := { sofreal:={p_f1,p_f2,p_f3} } with { erroneous(sofreal[0], sofreal[2], sofreal[1]) "value :=omit" } | |
341 | //=== INTEGER related? === | |
342 | ||
343 | //================================================ | |
344 | //======== Functions============================== | |
345 | //================================================ | |
346 | function f_compareAndVerdict(in octetstring pl_encoded, in octetstring pl_expected) { | |
347 | //log("Encoded value: ", pl_encoded); //DO not delete it, please. I'm working with this! | |
348 | //log("Expected value: ", pl_expected);//Later it will be removed | |
349 | if( pl_encoded == pl_expected ) { | |
350 | setverdict(pass); | |
351 | } else { | |
352 | setverdict(fail, "encoded value: ", pl_encoded, ";expected value: ", pl_expected ); | |
353 | } | |
354 | } | |
355 | //================================================ | |
356 | //======== Testcases============================== | |
357 | //================================================ | |
358 | ||
359 | //======== {integer}=================== | |
360 | //omit | |
361 | testcase tc_mySeqIntOmit() runs on MyComp { | |
362 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
363 | f_compareAndVerdict( | |
364 | encode_mySeqInt(valueof(t_msi_omit(i))), | |
365 | encode_mySeqEmpty(valueof(t_seqEmpty)) ); | |
366 | } | |
367 | } | |
368 | ||
369 | testcase tc_mySeqIntValueSameTypeE() runs on MyComp { | |
370 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
371 | f_compareAndVerdict( | |
372 | encode_mySeqInt(valueof(t_msi_valueSameTypeE(i))), | |
373 | encode_mySeqInt(valueof(t_msi(5))) ); | |
374 | } | |
375 | } | |
376 | ||
377 | testcase tc_mySeqIntValueSameTypeI() runs on MyComp { | |
378 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
379 | f_compareAndVerdict( | |
380 | encode_mySeqInt(valueof(t_msi_valueSameTypeI(i))), | |
381 | encode_mySeqInt(valueof(t_msi(5))) ); | |
382 | } | |
383 | } | |
384 | ||
385 | //Basic ASN.1 types (eq ttcn types): boolean, integer, octetstring, bitstring, null, objid, ext. objid, enum, embedded pdv, float (real), UTFSTR, seq, seq of | |
386 | testcase tc_mySeqIntValueDiffTypeExplicitBool() runs on MyComp { | |
387 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
388 | f_compareAndVerdict( | |
389 | encode_mySeqInt(valueof(t_msi_valueDiffTypeExplicitBoolean(i))), | |
390 | encode_mySeqBool(valueof(t_msb(true))) ); | |
391 | } | |
392 | } | |
393 | testcase tc_mySeqIntValueDiffTypeImplicitBool() runs on MyComp { | |
394 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
395 | f_compareAndVerdict( | |
396 | encode_mySeqInt(valueof(t_msi_valueDiffTypeImplicitBoolean(i))), | |
397 | encode_mySeqBool(valueof(t_msb(true))) ); | |
398 | } | |
399 | } | |
400 | ||
401 | testcase tc_mySeqIntValueDiffTypeExplicitOctStr() runs on MyComp { | |
402 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
403 | f_compareAndVerdict( | |
404 | encode_mySeqInt(valueof(t_msi_valueDiffTypeExplicitOctStr(i))), | |
405 | encode_mySeqOctStr(valueof(t_msos('BABA'O)))) ; | |
406 | } | |
407 | } | |
408 | testcase tc_mySeqIntValueDiffTypeImplicitOctStr() runs on MyComp { | |
409 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
410 | f_compareAndVerdict( | |
411 | encode_mySeqInt(valueof(t_msi_valueDiffTypeImplicitOctStr(i))), | |
412 | encode_mySeqOctStr(valueof(t_msos('BABA'O)))) ; | |
413 | } | |
414 | } | |
415 | ||
416 | testcase tc_mySeqIntValueDiffTypeExplicitEnum() runs on MyComp { | |
417 | var MySeqMyEnum vl_msme; | |
418 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
419 | vl_msme.e:=second; | |
420 | f_compareAndVerdict( | |
421 | encode_mySeqInt(valueof(t_msi_valueDiffTypeExplicitEnum(i))), | |
422 | encode_mySeqMyEnum(vl_msme) ); | |
423 | } | |
424 | } | |
425 | testcase tc_mySeqIntValueDiffTypeExplicitFloat() runs on MyComp { | |
426 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
427 | f_compareAndVerdict( | |
428 | encode_mySeqInt(valueof(t_msi_valueDiffTypeExplicitFloat(i))), | |
429 | encode_mySeqReal(valueof(t_msr(5.0))) ); | |
430 | } | |
431 | } | |
432 | ||
433 | testcase tc_mySeqIntValueDiffTypeImplicitFloat() runs on MyComp { | |
434 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
435 | f_compareAndVerdict( | |
436 | encode_mySeqInt(valueof(t_msi_valueDiffTypeImplicitFloat(i))), | |
437 | encode_mySeqReal(valueof(t_msr(5.0)))); | |
438 | } | |
439 | } | |
440 | ||
441 | testcase tc_mySeqIntValueDiffTypeExplicitStr() runs on MyComp { | |
442 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
443 | f_compareAndVerdict( | |
444 | encode_mySeqInt(valueof( t_msi_valueDiffTypeExplicitString(i))), | |
445 | encode_mySeqStr(valueof(t_msstr("subidubi"))) ); | |
446 | } | |
447 | } | |
448 | ||
449 | //ImplicitString: there is no 1:1 mapping between charstring and XYString in ASN.1 | |
450 | //Basic ASN.1 types (eq ttcn types): boolean, integer, octetstring, bitstring, null, objid, ext. objid, enum, embedded pdv, float (real), UTFSTR, seq, seq of | |
451 | ||
452 | ||
453 | testcase tc_mySeqIntValueDiffTypeExplicitBitStr() runs on MyComp { | |
454 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
455 | f_compareAndVerdict( | |
456 | encode_mySeqInt(valueof( t_msi_valueDiffTypeExplicitBitString(i))), | |
457 | encode_mySeqBitStr(valueof(t_msbitstr('01011000'B))) ); | |
458 | } | |
459 | } | |
460 | ||
461 | testcase tc_mySeqIntValueDiffTypeImplicitBitStr() runs on MyComp { | |
462 | log("encoded msbstr :",encode_mySeqBitStr(valueof(t_msbitstr('01011000'B))) ); | |
463 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
464 | f_compareAndVerdict( | |
465 | encode_mySeqInt(valueof(t_msi_valueDiffTypeImplicitBitString(i))), | |
466 | encode_mySeqBitStr(valueof(t_msbitstr('01011000'B))) ) | |
467 | } | |
468 | } | |
469 | ||
470 | //RAW | |
471 | testcase tc_mySeqIntValueDiffTypeRawOctStr() runs on MyComp { | |
472 | var octetstring vl_expectedValue:= '3001FF'O; //30:SEQ, 01:L,FF:Value | |
473 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
474 | f_compareAndVerdict( encode_mySeqInt(valueof(t_msi_valueDiffTypeRaw(i))), vl_expectedValue) | |
475 | } | |
476 | } | |
477 | // ============{integer, integer }============== | |
478 | //omit | |
479 | testcase tc_mySeqInt2Omiti() runs on MyComp { | |
480 | var integer j:= 255; | |
481 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
482 | f_compareAndVerdict( | |
483 | encode_mySeqInt2(valueof(t_msi2_omiti(i,j))), //encoded | |
484 | encode_mySeqInt(valueof(t_msi(j))) ); //expected | |
485 | } | |
486 | } | |
487 | ||
488 | testcase tc_mySeqInt2Omitj() runs on MyComp { | |
489 | var integer j:= 255; | |
490 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
491 | f_compareAndVerdict( | |
492 | encode_mySeqInt2(valueof(t_msi2_omitj(i,j))),//encoded | |
493 | encode_mySeqInt(valueof(t_msi(i))) ); //expected | |
494 | } | |
495 | } | |
496 | ||
497 | //before omit j | |
498 | testcase tc_mySeqInt2BeforeOmitj() runs on MyComp { | |
499 | var integer j:= 255; | |
500 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
501 | f_compareAndVerdict( | |
502 | encode_mySeqInt2(valueof(t_msi2_beforeomitj(i,j))),//encoded | |
503 | encode_mySeqInt(valueof(t_msi(j))) ); //expected | |
504 | } | |
505 | } | |
506 | ||
507 | //after omit i | |
508 | testcase tc_mySeqInt2AfterOmiti() runs on MyComp { | |
509 | var integer j:= 255; | |
510 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
511 | f_compareAndVerdict( | |
512 | encode_mySeqInt2(valueof(t_msi2_afteromiti(i,j))),//encoded | |
513 | encode_mySeqInt(valueof(t_msi(i))));//expected | |
514 | } | |
515 | } | |
516 | ||
517 | //after omit j => compile error | |
518 | // testcase tc_mySeqInt2AfterOmitj() runs on MyComp { | |
519 | // var integer j:= 255; | |
520 | // for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
521 | // log("encoded t_msi_after(i):",encode_mySeqInt(valueof(t_msi_after(i)))); | |
522 | // if( encode_mySeqInt2(valueof(t_msi2_afteromitj(i,j)))== encode_mySeqInt2(valueof(t_msi2(i,j))) ) { | |
523 | // setverdict(pass) | |
524 | // } else { | |
525 | // setverdict(fail, "failed at i=" & int2str(i)) } | |
526 | // } | |
527 | // } | |
528 | ||
529 | testcase tc_mySeqInt2ValueSameTypeE() runs on MyComp { | |
530 | var integer j:= 255; | |
531 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
532 | f_compareAndVerdict( | |
533 | encode_mySeqInt2(valueof(t_msi2_valueSameTypeE(i,j))),//encoded | |
534 | encode_mySeqInt2(valueof(t_msi2(i,5))) ); //expected | |
535 | } | |
536 | } | |
537 | ||
538 | testcase tc_mySeqInt2ValueSameTypeI() runs on MyComp { | |
539 | var integer j:= 255; | |
540 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
541 | f_compareAndVerdict( | |
542 | encode_mySeqInt2(valueof(t_msi2_valueSameTypeI(i,j))),//encoded | |
543 | encode_mySeqInt2(valueof(t_msi2(i,5)))); //expected | |
544 | } | |
545 | } | |
546 | ||
547 | testcase tc_mySeqInt2ValueDiffTypeExplicitFloat() runs on MyComp { | |
548 | var integer j:= 255; | |
549 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
550 | f_compareAndVerdict( | |
551 | encode_mySeqInt2(valueof(t_msi2_valueDiffTypeExplicitFloat(i,j))),//encoded | |
552 | encode_mySeqIntReal(valueof(t_msir(i,5.0)))); //expected | |
553 | } | |
554 | } | |
555 | ||
556 | testcase tc_mySeqInt2ValueDiffTypeImplicitFloat() runs on MyComp { | |
557 | var integer j:= 255; | |
558 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
559 | f_compareAndVerdict( | |
560 | encode_mySeqInt2(valueof(t_msi2_valueDiffTypeImplicitFloat(i,j))),//encoded | |
561 | encode_mySeqIntReal(valueof(t_msir(i,5.0)))); //expected | |
562 | } | |
563 | } | |
564 | ||
565 | testcase tc_mySeqInt2ValueDiffTypeExplicitStr() runs on MyComp { | |
566 | var integer j:= 255; | |
567 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
568 | f_compareAndVerdict( | |
569 | encode_mySeqInt2(valueof( t_msi2_valueDiffTypeExplicitString(i, j))),//encoded | |
570 | encode_mySeqIntStr(valueof(t_msistr(i, "subidubi"))) ); //expected | |
571 | } | |
572 | } | |
573 | ||
574 | testcase tc_mySeqInt2ValueDiffTypeExplicitBitStr() runs on MyComp { | |
575 | var integer j:= 255; | |
576 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
577 | f_compareAndVerdict( | |
578 | encode_mySeqInt2(valueof( t_msi2_valueDiffTypeExplicitBitString(i, j))), //encoded | |
579 | encode_mySeqIntBitStr(valueof(t_msibitstr(i,'01011000'B))) ); //expected | |
580 | } | |
581 | } | |
582 | ||
583 | testcase tc_mySeqInt2ValueDiffTypeImplicitBitStr() runs on MyComp { | |
584 | var integer j:= 255; | |
585 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
586 | f_compareAndVerdict( | |
587 | encode_mySeqInt2(valueof( t_msi2_valueDiffTypeImplicitBitString(i,j))), //encoded | |
588 | encode_mySeqIntBitStr(valueof(t_msibitstr(i,'01011000'B))) )//expected | |
589 | } | |
590 | } | |
591 | ||
592 | testcase tc_mySeqInt2ValueSeqIntV() runs on MyComp { | |
593 | var integer i:= 10, j:= 15; | |
594 | var octetstring vl_encoded := encode_mySeqInt2(valueof(t_msi2_valueSeqIntV(i,j))) | |
595 | var octetstring vl_expected:= encode_mySeqIntSeqInt2({10,{1,2}}) | |
596 | f_compareAndVerdict(vl_encoded,vl_expected); | |
597 | //'300B02010A3006020101020102'O : T:30 (SEQ) L:'0B'O = 11dec, V:'02010A3006020101020102'O | |
598 | // 02010A : T:02 (INT) L:01 V:'0A | |
599 | // 3006020101020102: T:30 (SEQ) L:06 V:020101 (int:1) 020102 (int:2) | |
600 | } | |
601 | ||
602 | testcase tc_mySeqInt2ValueSeqIntOptV() runs on MyComp { | |
603 | var integer i:= 10, j:= 15; | |
604 | var octetstring vl_encoded := encode_mySeqInt2(valueof(t_msi2_valueSeqIntOptV(i,j))) | |
605 | var octetstring vl_expected:= encode_mySeqIntSeqInt2({10,{1,2}}) | |
606 | f_compareAndVerdict(vl_encoded,vl_expected); | |
607 | //'300B02010A3006020101020102'O : T:30 (SEQ) L:'0B'O = 11dec, V:'02010A3006020101020102'O | |
608 | // 02010A : T:02 (INT) L:01 V:'0A | |
609 | // 3006020101020102: T:30 (SEQ) L:06 V:020101 (int:1) 020102 (int:2) | |
610 | } | |
611 | ||
612 | testcase tc_mySeqInt2ValueSeqIntC() runs on MyComp { | |
613 | var integer i:= 10, j:= 15; | |
614 | var octetstring vl_encoded := encode_mySeqInt2(valueof(t_msi2_valueSeqIntC(i,j))) | |
615 | var octetstring vl_expected:= encode_mySeqIntSeqInt2({10,{1,2}}) | |
616 | f_compareAndVerdict(vl_encoded,vl_expected); | |
617 | //'300B02010A3006020101020102'O : T:30 (SEQ) L:'0B'O = 11dec, V:'02010A3006020101020102'O | |
618 | // 02010A : T:02 (INT) L:01 V:'0A | |
619 | // 3006020101020102: T:30 (SEQ) L:06 V:020101 (int:1) 020102 (int:2) | |
620 | } | |
621 | ||
622 | testcase tc_mySeqInt2ValueSeqInt2OptC() runs on MyComp { | |
623 | var integer i:= 10, j:= 15; | |
624 | var octetstring vl_encoded := encode_mySeqInt2(valueof(t_msi2_valueSeqIntOptC(i,j))); | |
625 | var octetstring vl_expected:= encode_mySeqIntSeqInt2({10,{1,2}}); | |
626 | f_compareAndVerdict(vl_encoded,vl_expected); | |
627 | //'300B02010A3006020101020102'O : T:30 (SEQ) L:'0B'O = 11dec, V:'02010A3006020101020102'O | |
628 | // 02010A : T:02 (INT) L:01 V:'0A | |
629 | // 3006020101020102: T:30 (SEQ) L:06 V:020101 (int:1) 020102 (int:2) | |
630 | } | |
631 | ||
632 | testcase tc_mySeqInt2ValueSeqInt2OptOmitC() runs on MyComp { | |
633 | var integer i:= 10, j:= 15; | |
634 | var octetstring vl_encoded := encode_mySeqInt2(valueof(t_msi2_valueSeqInt2OptOmitC(i,j))); | |
635 | var octetstring vl_expected:= encode_mySeqIntSeqInt2optopt({10,{1,omit}}) | |
636 | f_compareAndVerdict(vl_encoded,vl_expected); | |
637 | } | |
638 | testcase tc_mySeqInt2ValueSeqInt2iiC() runs on MyComp { | |
639 | var integer i:= 10, j:= 15; | |
640 | var octetstring vl_encoded := encode_mySeqInt2(valueof(t_msi2_valueSeqInt2iiC(i,j))); | |
641 | var octetstring vl_expected:= encode_mySeqInt2({1,15}) | |
642 | f_compareAndVerdict(vl_encoded,vl_expected); | |
643 | } | |
644 | ||
645 | testcase tc_mySeqInt2ValueSeqInt2ijC() runs on MyComp { | |
646 | var integer i:= 10, j:= 15; | |
647 | var octetstring vl_encoded := encode_mySeqInt2(valueof(t_msi2_valueSeqInt2ijC(i,j))); | |
648 | var octetstring vl_expected:= encode_mySeqInt2({2,15}) | |
649 | f_compareAndVerdict(vl_encoded,vl_expected); | |
650 | } | |
651 | testcase tc_mySeqInt2ValueSeqInt2jiC() runs on MyComp { | |
652 | var integer i:= 10, j:= 15; | |
653 | var octetstring vl_encoded := encode_mySeqInt2(valueof(t_msi2_valueSeqInt2jiC(i,j))); | |
654 | var octetstring vl_expected:= encode_mySeqInt2({10,1}) | |
655 | f_compareAndVerdict(vl_encoded,vl_expected); | |
656 | } | |
657 | ||
658 | testcase tc_mySeqInt2ValueSeqInt2jjC() runs on MyComp { | |
659 | var integer i:= 10, j:= 15; | |
660 | var octetstring vl_encoded := encode_mySeqInt2(valueof(t_msi2_valueSeqInt2jjC(i,j))); | |
661 | var octetstring vl_expected:= encode_mySeqInt2({10,2}) | |
662 | f_compareAndVerdict(vl_encoded,vl_expected); | |
663 | } | |
664 | //=== Sequence { integer, {integer, integer} ) | |
665 | testcase tc_mySeqIntSeqInt2ValueOmiti() runs on MyComp { | |
666 | var integer i:= 10, j:= 15, k:=16; | |
667 | var octetstring vl_encoded :=encode_mySeqIntSeqInt2(valueof(t_msisi2_omiti(i,j,k))) | |
668 | var octetstring vl_expected:=encode_mySeqIntSeqInt2opt({omit,{15,16}}) | |
669 | f_compareAndVerdict(vl_encoded,vl_expected); | |
670 | //'3008300602010F020110'O T:30 (SEQ) L:08 V:'300602010F020110'O | |
671 | //'300602010F020110'O : T:30 (SEQ) L:06 V:'02010F020110'O | |
672 | //'02010F: integer:15dec | |
673 | //'020110'O integer:16dec | |
674 | ||
675 | } | |
676 | ||
677 | testcase tc_mySeqIntSeqInt2ValueOmitjki() runs on MyComp { | |
678 | var integer i:= 10, j:= 15, k:=16; | |
679 | f_compareAndVerdict( | |
680 | encode_mySeqIntSeqInt2(valueof(t_msisi2_omitjki(i,j,k))), | |
681 | encode_mySeqIntSeqInt2optopt({10,{16,omit}}) ); | |
682 | //'300802010A3003020110'O : T:30 (SEQ) L:08 V:'02010A3003020110'O | |
683 | //02010A (i=10) | |
684 | //3003020110 T:30, L:03, V:020110 (=int:16) | |
685 | } | |
686 | ||
687 | testcase tc_mySeqIntSeqInt2ValueOmitjkj() runs on MyComp { | |
688 | var integer i:= 10, j:= 15, k:=16; | |
689 | ||
690 | //'300802010A3003020110'O : T:30 (SEQ) L:08 V:'02010A3003020110'O | |
691 | //02010A (i=10) | |
692 | //3003020110 T:30, L:03, V:020110 (=int:16) | |
693 | f_compareAndVerdict( encode_mySeqIntSeqInt2(valueof(t_msisi2_omitjkj(i,j,k))), encode_mySeqIntSeqInt2optopt({10,{15,omit}}) ); | |
694 | } | |
695 | ||
696 | testcase tc_mySeqIntSeqInt2ValueRawjki() runs on MyComp { | |
697 | var integer i:= 10, j:= 15, k:=16; | |
698 | //'300A02010A3005ABBA020110'O : T:30 (SEQ) L:0A (10) V:'02010A3005ABBA020110'O | |
699 | //02010A (i=10) | |
700 | //3005ABBA020110'O T:30, L:05, V:ABBA020110 'ABBA'O & '20110'O (int 16) | |
701 | //log( "expected value: ", encode_mySeqIntSeqInt2 (valueof(t_msisi2(i,oct2int('ABBA'O),k)))); << No, the 'ABBA'O == TLV and not V !!! | |
702 | f_compareAndVerdict( encode_mySeqIntSeqInt2(valueof(t_msisi2_rawjki(i,j,k))), '300A02010A3005ABBA020110'O ); | |
703 | } | |
704 | ||
705 | testcase tc_mySeqIntSeqInt2ValueRawjkj() runs on MyComp { | |
706 | var integer i:= 10, j:= 15, k:=16; | |
707 | //'300A02010A300502010FABBA'O | |
708 | // 300A02010A300502010FABBA'O: T:30 (SEQ) L:0A (10) V:'02010A300502010FABBA'O | |
709 | //02010A (i=10) | |
710 | // '300502010FABBA'O T:30, L:05, V:02010FABBA'O: '2010F'O (int 15) & 'ABBA'O | |
711 | f_compareAndVerdict( encode_mySeqIntSeqInt2(valueof(t_msisi2_rawjkj(i,j,k))), '300A02010A300502010FABBA'O ) | |
712 | } | |
713 | ||
714 | //After-before: | |
715 | testcase tc_mySeqIntSeqInt2AfteriBeforej() runs on MyComp { | |
716 | var integer i:= 10, j:= 15, k:=16; | |
717 | f_compareAndVerdict( encode_mySeqIntSeqInt2(valueof(t_msisi2_afteribeforej(i,j,k))), '301302010A0402ABBA300A0402BABA02010F020110'O) | |
718 | //'301302010A0402ABBA300A0402BABA02010F020110'O T:30 (SEQ) L:13 (19dec) V:'02010A0402ABBA300A0402BABA02010F020110'O | |
719 | //02010A0 (i:10) | |
720 | //0402ABBA T:04 (octetstring>1) L:02 V:'ABBA'O (after i should be 'ABBA'O ->ok | |
721 | //'300A0402BABA02010F020110'O T:30 (SEQ) L:'0A'O (10dec) V: '0402BABA02010F020110'O | |
722 | //0402BABA: T:04 (octetstr) L:02 V:'BABA'O ->ok | |
723 | //02010F : (j:15) ->ok | |
724 | //020110: (k:16) ->ok | |
725 | } | |
726 | ||
727 | //==== {integer, integer, integer, integer} ============== | |
728 | //omit | |
729 | testcase tc_mySeqInt4Omiti() runs on MyComp { | |
730 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
731 | f_compareAndVerdict( encode_mySeqInt4(valueof(t_msi4_omiti(i,2*i,3*i,4*i))),encode_mySeqInt3(valueof(t_msi3(2*i,3*i,4*i))) ) | |
732 | } | |
733 | } | |
734 | ||
735 | testcase tc_mySeqInt4Omitj() runs on MyComp { | |
736 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
737 | f_compareAndVerdict( encode_mySeqInt4(valueof(t_msi4_omitj(i,2*i,3*i,4*i))),encode_mySeqInt3(valueof(t_msi3(i,3*i,4*i))) ); | |
738 | } | |
739 | } | |
740 | ||
741 | testcase tc_mySeqInt4Omitk() runs on MyComp { | |
742 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
743 | f_compareAndVerdict( encode_mySeqInt4(valueof(t_msi4_omitk(i,2*i,3*i,4*i))),encode_mySeqInt3(valueof(t_msi3(i,2*i,4*i))) ) | |
744 | } | |
745 | } | |
746 | ||
747 | testcase tc_mySeqInt4Omitl() runs on MyComp { | |
748 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
749 | f_compareAndVerdict( encode_mySeqInt4(valueof(t_msi4_omitl(i,2*i,3*i,4*i))), encode_mySeqInt3(valueof(t_msi3(i,2*i,3*i))) ) | |
750 | } | |
751 | } | |
752 | //NEW | |
753 | testcase tc_mySeqInt4optOmitl() runs on MyComp { | |
754 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
755 | f_compareAndVerdict( encode_mySeqInt4opt(valueof(t_msi4opt_omitl(i,2*i,3*i,4*i))), encode_mySeqInt3(valueof(t_msi3(i,2*i,3*i))) ) | |
756 | } | |
757 | } | |
758 | //NEW | |
759 | testcase tc_mySeqInt4optValueLInteger() runs on MyComp { | |
760 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
761 | f_compareAndVerdict( | |
762 | encode_mySeqInt4opt(valueof(t_msi4opt_valueLInteger(i,2*i,3*i,4*i))), | |
763 | encode_mySeqInt4(valueof(t_msi4(i,2*i,3*i,10))) ); | |
764 | } | |
765 | //encoded value: '300E020101020102020103040302010A'O; T:30 (SEQ) L:0E (14), V:020101 020102 020103 040302010A= | |
766 | // 020101:(i=1), 020102:(j=2), 020103:(l=3), 040302010A: T:04 (OCTSTR), L=03 | |
767 | //expected value: '300C02010102010202010302010A'O" | |
768 | } | |
769 | //NEW BEFORE | |
770 | testcase tc_mySeqInt4optBeforeLInteger() runs on MyComp { | |
771 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
772 | f_compareAndVerdict( | |
773 | encode_mySeqInt4opt(valueof(t_msi4opt_beforeLInteger(i,2*i,3*i,4*i))), | |
774 | encode_mySeqInt5opt(valueof(t_msi5opt( i,2*i,3*i, 10,4*i))) ) | |
775 | } | |
776 | } | |
777 | //NEW AFTER | |
778 | testcase tc_mySeqInt4optAfterLInteger() runs on MyComp { | |
779 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
780 | f_compareAndVerdict( | |
781 | encode_mySeqInt4opt(valueof(t_msi4opt_afterLInteger(i,2*i,3*i,4*i))), | |
782 | encode_mySeqInt5opt(valueof(t_msi5opt( i,2*i,3*i, 4*i, 10))) ) | |
783 | } | |
784 | } | |
785 | ||
786 | testcase tc_mySeqInt4ValueiOctetStr() runs on MyComp { | |
787 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
788 | f_compareAndVerdict( | |
789 | encode_mySeqInt4(valueof(t_msi4_valueiOctetStr(i,2*i,3*i,4*i))), | |
790 | encode_mySeqOJKL(valueof(t_msojkl('FEDCBA98'O,2*i,3*i, 4*i))) ) | |
791 | } | |
792 | } | |
793 | ||
794 | testcase tc_mySeqInt4ValuejOctetStr() runs on MyComp { | |
795 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
796 | f_compareAndVerdict( | |
797 | encode_mySeqInt4(valueof(t_msi4_valuejOctetStr(i,2*i,3*i,4*i))), encode_mySeqIOKL(valueof(t_msiokl(i,'FEDCBA98'O,3*i, 4*i))) ) | |
798 | } | |
799 | } | |
800 | ||
801 | type record of octetstring RoO; | |
802 | type record of integer RoI; | |
803 | testcase tc_mySeqInt4ValueiRaw() runs on MyComp { | |
804 | var RoO vl_expectedValue:= { | |
805 | '300D0202ABBA020102020103020104'O, | |
806 | '300D0202ABBA02011402011E020128'O, | |
807 | '30100202ABBA020200C80202012C02020190'O, | |
808 | '30100202ABBA020207D002020BB802020FA0'O, | |
809 | '300D0202ABBA0201EC0201E20201D8'O | |
810 | } | |
811 | //if i=1 | |
812 | //'300D0202ABBA020102020103020104'O: T:30(SEQ),L:0D (13), V:'0202ABBA020102020103020104'O | |
813 | //'0202ABBA' T:02 (int),L:02,V:'ABBA' (L=4) | |
814 | //'020102' T:2, L:01, V:2 (j=2) | |
815 | //'020103' T:2, L:01, V:3 (k=3) | |
816 | //'020104' T:2, L:01, V:4 (l=4) | |
817 | //if i=10: | |
818 | //'300D0202ABBA02011402011E020128'O: T:30 (SEQ),L:0D (13),V:0201010202ABBA020103020104 , where | |
819 | //'0202ABBA' T:02 (int),L:02,V:'ABBA' (L=4) | |
820 | //'020114' : T:02 (int),L:01,V:'14'O=20dec (j:=20) (L=3) | |
821 | //'02011E' : T:02,L:01,V:'1E'O=30dec (k:=30) (L=3) | |
822 | //'020128' : T:02,L:01,V:'28'O=40dec (l:=40) (L=3) | |
823 | // L: 3+4+3+3=13 | |
824 | //if i=100: | |
825 | //'30100202ABBA020200C80202012C02020190'O: T:30(SEQ),L='10'O=16dec, V:'0202ABBA020200C80202012C02020190'O | |
826 | //'0202ABBA' T:02 (int),L:02,V:'ABBA' (L=4) | |
827 | //'020200C8' T:02 (int),L:02,V:'00C8'O=200dec (L=4) | |
828 | //'0202012C' T:02, L:02, V:'012C'O=256+32+12=300dec (L=4) | |
829 | //'02020190' T:02 (int), L:02, V:'0190'O=256+9*16=400dec (L=4) | |
830 | //'30100202ABBA020207D002020BB802020FA0'O: T:30, L:10=16dec, V:'0202ABBA020207D002020BB802020FA0'O | |
831 | //if i=1000 | |
832 | //'0202ABBA' T:02 (int),L:02,V:'ABBA' (L=4) | |
833 | //'020207D0' T:02 (int),L:02,V:'07D0'O=2000dec | |
834 | //'02020BB8' T:02 (int),L:02,V:'0BB8'O=3000dec | |
835 | //'02020FA0' T:02 (int),L:02,V:'0FA0'O=4000dec | |
836 | //if i=-10 | |
837 | //'300D0202ABBA0201EC0201E20201D8'O T:30, L:0D=13dec, V:'0202ABBA0201EC0201E20201D8'O | |
838 | //'0202ABBA' T:02 (int),L:02,V:'ABBA' (L=4) | |
839 | //'0201EC'O T=02, (int), L:01,V:'EC'O='1110 1100'B=-'0001 0100'B=-(16+4)=-20dec ok | |
840 | //'0201E2'O T=02, (int), L:01,V:'E2'O='1110 0010'B=-'0001 1110'B=-30dec | |
841 | //'0201D8'O T=02, (int), L:01,V:'E:'D8'O='1101 1000'B=-'0010 1000'B=-40dec ok | |
842 | var RoI vl_roi := { 1, 10, 100, 1000,-10}; | |
843 | ||
844 | var integer i:=0; | |
845 | for(var integer index:=0; index<5;index:=index+1) { | |
846 | i:=vl_roi[index]; | |
847 | f_compareAndVerdict( encode_mySeqInt4(valueof(t_msi4_valueiRaw(i,2*i,3*i,4*i))),vl_expectedValue[index] ) | |
848 | } | |
849 | } | |
850 | ||
851 | testcase tc_mySeqInt4ValuejRaw() runs on MyComp { | |
852 | var octetstring vl_expectedValue:= '300D0201010202ABBA020103020104'O; | |
853 | //'300D0201010202ABBA020103020104': T:30 (SEQ), L:0D (13), V:0201010202ABBA020103020104 , where | |
854 | //'020101' : T:02 (int),L:01,V:1 (i:=1) | |
855 | //'0202ABBA' T:02 (int),L:02,V:'ABBA' | |
856 | //'020103' : T:02,L:01,V:2 (k:=3) | |
857 | //'020104' : T:02,L:01,V:2 (l:=4) | |
858 | var integer i:=1; | |
859 | f_compareAndVerdict( encode_mySeqInt4(valueof(t_msi4_valuejRaw(i,2*i,3*i,4*i))),vl_expectedValue ) ; | |
860 | } | |
861 | ||
862 | testcase tc_mySeqInt4ValuekRaw() runs on MyComp { | |
863 | var octetstring vl_expectedValue:= '300D0201010201020202ABBA020104'O; //30:SEQ, L=0D | |
864 | //'300D0201010201020202ABBA020104'O T:30:SEQ, L=0D V: '0201010201020202ABBA020104'O | |
865 | //020101 i=1 | |
866 | //020102 j=2 | |
867 | //0202ABBA 'ABBA'O | |
868 | //020104 l=4 | |
869 | var integer i:=1; | |
870 | f_compareAndVerdict( encode_mySeqInt4(valueof(t_msi4_valuekRaw(i,2*i,3*i,4*i))),vl_expectedValue ) | |
871 | } | |
872 | ||
873 | testcase tc_mySeqInt4ValuelRaw() runs on MyComp { | |
874 | var octetstring vl_expectedValue:= '300D0201010201020201030202ABBA'O; | |
875 | //'300D0201010201020201030202ABBA'O T:30:SEQ, L=0D V: '201010201020201030202ABBA'O | |
876 | //020101 i=1 | |
877 | //020102 j=2 | |
878 | //020103 k=3 | |
879 | //0202ABBA 'ABBA'O | |
880 | var integer i:=1 | |
881 | f_compareAndVerdict( encode_mySeqInt4(valueof(t_msi4_valuelRaw(i,2*i,3*i,4*i))),vl_expectedValue ) ; | |
882 | } | |
883 | ||
884 | //To test if a mandatory structure omitted | |
885 | testcase tc_mySeqISKL_ValueSomit() runs on MyComp { | |
886 | var MySeqInt4 vl_msi4:={5,6,7,8}; | |
887 | var octetstring vl_expectedValue:='300902010A02011E020128'O | |
888 | //'300902010A02011E020128'O T:30, L:09, V:'02010A02011E020128' | |
889 | //02010A i=10 | |
890 | //02011E V:'1E'O=16+14=30 k=30 | |
891 | //020128 V:'28'O=32+8=40 l=40 ok | |
892 | f_compareAndVerdict( encode_mySeqISKL(valueof(t_msiskl_valueSomit(10,vl_msi4,30,40))), vl_expectedValue ) | |
893 | } | |
894 | ||
895 | testcase tc_mySeqISKL_ValueSIomit() runs on MyComp { | |
896 | var MySeqInt4 vl_msi4:={5,6,7,8}; | |
897 | var octetstring vl_expectedValue:='301402010A300902010602010702010802011E020128'O; | |
898 | //'301402010A300902010602010702010802011E020128'O; T:30, L:'14'O=20, V:'02010A3009020106020107020108 02011E020128'O | |
899 | //02010A i=10 L=3 | |
900 | //3009020106020107020108: T:30, L:09, V:020106020107020108= '020106'O & '020107'O & '020108'O ~ {6,7,8} | |
901 | //02011E V:16+14=30 k=30 | |
902 | //020128 V:32+8=40 l=40 | |
903 | f_compareAndVerdict( encode_mySeqISKL(valueof(t_msiskl_valueSIomit(10,vl_msi4,30,40))),vl_expectedValue ) | |
904 | } | |
905 | ||
906 | testcase tc_mySeqISKL_ValueSISJomit() runs on MyComp { | |
907 | var MySeqInt4 vl_msi4:={5,6,7,8}; | |
908 | var octetstring vl_expectedValue:='301102010A300602010702010802011E020128'O | |
909 | //'301102010A300602010702010802011E020128'O; T:30, L:'11'O=17, V:'02010A 3006020107020108 02011E 020128'O | |
910 | //02010A i=10 L=3 | |
911 | //3006020107020108: T:30, L:06, V:020107020108 = '020107'O & '020108'O ~ {7,8} | |
912 | //02011E V:16+14=30 k=30 | |
913 | //020128 V:32+8=40 l=40 | |
914 | f_compareAndVerdict( encode_mySeqISKL(valueof(t_msiskl_valueSISJomit(10,vl_msi4,30,40))),vl_expectedValue ) | |
915 | } | |
916 | ||
917 | testcase tc_mySeqISKL_ValueSraw() runs on MyComp { | |
918 | var MySeqInt4 vl_msi4:={5,6,7,8}; | |
919 | var octetstring vl_expectedValue:= '300D02010A0202ABBA02011E020128'O | |
920 | //'300D02010A0202ABBA02011E020128'O; T:30, L:'0D'O=13, V:'02010A 0202ABBA 02011E 020128'O | |
921 | //02010A i=10 L=3 | |
922 | //0202ABBA T:02, L:02, V:'ABBA'O | |
923 | //02011E V:16+14=30 k=30 | |
924 | //020128 V:32+8=40 l=40 | |
925 | f_compareAndVerdict( encode_mySeqISKL(valueof(t_msiskl_valueSraw(10,vl_msi4,30,40))),vl_expectedValue ) | |
926 | } | |
927 | ||
928 | //===== sequence of sequence of sequence ==== | |
929 | testcase tc_MySeqIntSeqIntSeqInt2SeqReal2_omiti() runs on MyComp { | |
930 | var MySeqSeqIntSeqInt2SeqReal2 vl_expected:= {{2,{3,4}},{5.0,6.0}}; | |
931 | //'301F 30 0B 020102 3006 020103 020104 3010 090603352E452B30 090603362E452B30'O | |
932 | f_compareAndVerdict( | |
933 | encode_mySeqIntSeqIntSeqInt2SeqReal2(valueof(t_msisisi2r2_omiti(1, {2,{3,4}}, {5.0,6.0} ))), | |
934 | encode_mySeqSeqIntSeqInt2SeqReal2(vl_expected)) | |
935 | } | |
936 | testcase tc_MySeqIntSeqIntSeqInt2SeqReal2_omitjkl() runs on MyComp { | |
937 | var MySeqIntSeqReal2 vl_expected:= { 1, {5.0,6.0}}; | |
938 | //'30150201013010090603352E452B30090603362E452B30'O | |
939 | //'30150201013010090603352E452B30090603362E452B30'O : T: 30 (SEQ), L:'15'O=21dec, V: '0201013010090603352E452B30090603362E452B30'O | |
940 | //020101 int:1 | |
941 | //3010090603352E452B30090603362E452B30'O T: 30 (SEQ), L:'10'O=16dec V:'090603352E452B30 090603362E452B30'O | |
942 | //090603352E452B30 T:09 (REAL), L:06, V:'03 35 2E 45 2B 30'O='0000 0011 ...'B ??? (35->5.0 | |
943 | //090603362E452B30 T:09 (REAL), L:06, V:'03 36 2E 45 2B 30'O=??? (36->6.0dec?) | |
944 | f_compareAndVerdict( encode_mySeqIntSeqIntSeqInt2SeqReal2( | |
945 | valueof(t_msisisi2r2_omitjkl(1, {2,{3,4}}, {5.0,6.0} ))), | |
946 | encode_mySeqIntSeqReal2(vl_expected)); | |
947 | } | |
948 | ||
949 | testcase tc_MySeqIntSeqIntSeqInt2SeqReal2_omitxy() runs on MyComp { | |
950 | var MySeqIntSeqIntSeqInt2 vl_expected:= { 1, {2,{3,4}} }; | |
951 | //'3010020101300B0201023006020103020104'O | |
952 | f_compareAndVerdict( | |
953 | encode_mySeqIntSeqIntSeqInt2SeqReal2(valueof(t_msisisi2r2_omitxy(1, {2,{3,4}}, {5.0,6.0} ))), | |
954 | encode_mySeqIntSeqIntSeqInt2(vl_expected)) | |
955 | } | |
956 | ||
957 | //...with { erroneous(jkl.jk.j) "value:=omit"} | |
958 | testcase tc_MySeqIntSeqIntSeqInt2SeqReal2_omitjkll() runs on MyComp { | |
959 | var MySeqIntSeqIntSeqInt2optoptSeqReal2 vl_expected:= {1,{2,{3,omit}}, {5.0,6.0}}; | |
960 | f_compareAndVerdict( encode_mySeqIntSeqIntSeqInt2SeqReal2( | |
961 | valueof(t_msisisi2r2_omitjkll(1, {2,{3,4}}, {5.0,6.0} ))), | |
962 | encode_mySeqIntSeqIntSeqInt2optoptSeqReal2(vl_expected)) | |
963 | } | |
964 | ||
965 | testcase tc_MySeqIntSeqIntSeqInt2SeqReal2_valuexy() runs on MyComp { | |
966 | //var MySeqIntSeqIntSeqInt2SeqReal2 vl_msisisi2r2; | |
967 | var MySeqIntSeqIntSeqInt2SeqReal2 vl_expected:= {1,{2,{3,4}}, {15.0,16.0}}; | |
968 | f_compareAndVerdict( | |
969 | encode_mySeqIntSeqIntSeqInt2SeqReal2(valueof(t_msisisi2r2_valuexy(1, {2,{3,4}}, {5.0,6.0} ))), | |
970 | encode_mySeqIntSeqIntSeqInt2SeqReal2(vl_expected)) | |
971 | } | |
972 | ||
973 | testcase tc_MySeqIntSeqIntSeqInt2SeqReal2_valuex_y() runs on MyComp { | |
974 | ||
975 | var MySeqIntSeqIntSeqInt2SeqReal2 vl_expected:= {1,{2,{3,4}}, {15.0,16.0}}; | |
976 | f_compareAndVerdict( encode_mySeqIntSeqIntSeqInt2SeqReal2( | |
977 | valueof(t_msisisi2r2_valuex_y(1, {2,{3,4}}, {5.0,6.0} ))), | |
978 | encode_mySeqIntSeqIntSeqInt2SeqReal2(vl_expected)); | |
979 | } | |
980 | ||
981 | //expression evaluation in attribue section: | |
982 | testcase tc_MySeqIntSeqIntSeqInt2SeqReal2_valuex_y_expr1() runs on MyComp { | |
983 | ||
984 | var MySeqIntSeqIntSeqInt2SeqReal2 vl_expected:= {1,{2,{3,4}}, {45.0,64.0}}; | |
985 | f_compareAndVerdict( | |
986 | encode_mySeqIntSeqIntSeqInt2SeqReal2(valueof(t_msisisi2r2_valuex_y_expr1(1, {2,{3,4}}, {5.0,6.0} ))), | |
987 | encode_mySeqIntSeqIntSeqInt2SeqReal2(vl_expected)) | |
988 | } | |
989 | ||
990 | testcase tc_MySeqIntSeqIntSeqInt2SeqReal2_valuex_y_expr2() runs on MyComp { | |
991 | var MySeqIntSeqIntSeqInt2SeqReal2 vl_expected:= {1,{2,{3,4}}, {654321.0, 3.2}}; | |
992 | f_compareAndVerdict( | |
993 | encode_mySeqIntSeqIntSeqInt2SeqReal2(valueof(t_msisisi2r2_valuex_y_expr2(1, {2,{3,4}}, {5.0,6.0} ))), | |
994 | encode_mySeqIntSeqIntSeqInt2SeqReal2(vl_expected)) | |
995 | } | |
996 | ||
997 | testcase tc_MySeq_SeqSeqIntSeqInt2SeqReal2_SeqSeqIntSeqInt2SeqReal2_omit() runs on MyComp { | |
998 | var MySeqSeqIntSeqInt2SeqReal2 vl_s1:={ {1,{2,3}}, {3.0,4.0} }, vl_s2:= {{5,{6,7}}, {7.0, 8.0}}; | |
999 | var MySeq_SeqSeqIntSeqInt2optoptSeqReal2_SeqSeqIntSeqInt2optoptSeqReal2 vl_expected := { { omit,{1,{2, omit}}, {3.0,4.0} }, { omit,{5,{6,7}}, {7.0, 8.0}} } | |
1000 | f_compareAndVerdict( | |
1001 | encode_mySeq_SeqSeqIntSeqInt2SeqReal2_SeqSeqIntSeqInt2SeqReal2(valueof(t_msssi2sr2ssi2sr2_omit(vl_s1, vl_s2))), | |
1002 | encode_mySeq_SeqSeqIntSeqInt2optoptSeqReal2_SeqSeqIntSeqInt2optoptSeqReal2(vl_expected)); | |
1003 | } | |
1004 | ||
1005 | }//group Sequences | |
1006 | ||
1007 | ||
1008 | //group Set | |
1009 | group SequenceOf { | |
1010 | //====sequence of related templates==== | |
1011 | template MySeqOfBool t_msob(template boolean p_b1, template boolean p_b2, template boolean p_b3) := { p_b1, p_b2, p_b3 }; | |
1012 | template MySeqOfNull t_mson := { NULL, NULL, NULL }; | |
1013 | template MySeqOfInt t_msoi(template integer p_i1, template integer p_i2, template integer p_i3):={p_i1,p_i2,p_i3}; | |
1014 | template MySeqOfMyEnum t_msome(template MyEnum p_e1, template MyEnum p_e2,template MyEnum p_e3) := {p_e1,p_e2,p_e3}; | |
1015 | //template MySeqOfEnum t_msoe(template MyEnum p_e1, template MyEnum p_e2,template MyEnum p_e3):= {p_e1,p_e2,p_e3}; | |
1016 | template MySeqOfReal t_msor(template float p_f1, template float p_f2, template float p_f3, template float p_f4):= {p_f1, p_f2,p_f3,p_f4} | |
1017 | template MySeqOfBitStr t_msobs(template bitstring p_bs1, template bitstring p_bs2, template bitstring p_bs3):={p_bs1, p_bs2, p_bs3} | |
1018 | template MySeqOfOctStr t_msoos(template octetstring p_os1, template octetstring p_os2, template octetstring p_os3):={p_os1, p_os2, p_os3} | |
1019 | //template MySeqOfObjId | |
1020 | ||
1021 | template MySeqOfBool t_msobValueSameType(template boolean p_b1, template boolean p_b2, template boolean p_b3) := { p_b1, p_b2, p_b3 } | |
1022 | with { erroneous ([0]) "value:= boolean:true"; erroneous ([2]) "value:= boolean:true" }; | |
1023 | ||
1024 | template MySeqOfBool t_msobValueDiffType(template boolean p_b1, template boolean p_b2, template boolean p_b3) := { p_b1, p_b2, p_b3 } | |
1025 | with { erroneous ([0]) "value:= 1.414"; erroneous ([2]) "value:= 2011" }; //2011 = '07DB'O | |
1026 | ||
1027 | template MySeqOfBool t_msobValueDiffTypeRaw(template boolean p_b1, template boolean p_b2, template boolean p_b3) := { p_b1, p_b2, p_b3 } | |
1028 | with { erroneous ([0]) "value(raw):='02010A'O"; erroneous ([2]) "value:= 2011" }; //2011 = '07DB'O | |
1029 | ||
1030 | template MySeqOfBool t_msobValueOmit(template boolean p_b1, template boolean p_b2, template boolean p_b3) := { p_b1, p_b2, p_b3 } | |
1031 | with { erroneous ([0]) "value:=omit"; erroneous ([1]) "value:= omit" }; | |
1032 | ||
1033 | template MySeqOfBool t_msobAfterOmit(template boolean p_b1, template boolean p_b2, template boolean p_b3) := { p_b1, p_b2, p_b3 } | |
1034 | with { erroneous ([0]) "after:=omit all" }; | |
1035 | ||
1036 | template MySeqOfBool t_msobValueAfterOmit(template boolean p_b1, template boolean p_b2, template boolean p_b3) := { p_b1, p_b2, p_b3 } | |
1037 | with { erroneous ([0]) "after:=omit all"; erroneous ([0]) "value:=true" }; | |
1038 | ||
1039 | template MySeqOfBool t_msobBeforeOmit2(template boolean p_b1, template boolean p_b2, template boolean p_b3) := { p_b1, p_b2, p_b3 } | |
1040 | with { erroneous ([2]) "before:=omit all" }; | |
1041 | ||
1042 | template MySeqOfBool t_msobValueBeforeOmit2(template boolean p_b1, template boolean p_b2, template boolean p_b3) := { p_b1, p_b2, p_b3 } | |
1043 | with { erroneous ([2]) "before:=omit all"; erroneous ([2]) "value:=true" }; | |
1044 | ||
1045 | template MySeqOfBool t_msobBeforeOmit1(template boolean p_b1, template boolean p_b2, template boolean p_b3) := { p_b1, p_b2, p_b3 } | |
1046 | with { erroneous ([1]) "before:=omit all" }; | |
1047 | ||
1048 | template MySeqOfBool t_msobValueBeforeOmit1(template boolean p_b1, template boolean p_b2, template boolean p_b3) := { p_b1, p_b2, p_b3 } | |
1049 | with { erroneous ([1]) "before:=omit all"; erroneous ([1]) "value:=true" }; | |
1050 | // This would cause compilation error - correct behavior: | |
1051 | //template MySeqOfBool t_msobAfterOmit(template boolean p_b1, template boolean p_b2, template boolean p_b3) := { p_b1, p_b2, p_b3 } | |
1052 | // with { erroneous ([0]) "after:=omit all"; erroneous ([1]) "value:= 4" }; | |
1053 | ||
1054 | //NULL: | |
1055 | template MySeqOfNull t_msonValueDiffType := { NULL,NULL,NULL } | |
1056 | with { erroneous ([0]) "value:= 1.414"; erroneous ([2]) "value:= 2011" }; | |
1057 | ||
1058 | template MySeqOfNull t_msonValueDiffTypeRaw := { NULL,NULL,NULL } | |
1059 | with { erroneous ([0]) "value(raw):='02010A'O"; erroneous ([2]) "value:= 2011" }; | |
1060 | ||
1061 | template MySeqOfNull t_msonBeforeOmit2 := { NULL,NULL,NULL } | |
1062 | with { erroneous ([2]) "before:= omit all" }; | |
1063 | template MySeqOfNull t_msonIntValueBeforeOmit2 := { NULL,NULL,NULL } | |
1064 | with { erroneous ([2]) "before:= omit all"; erroneous ([2]) "value:= 2011"}; | |
1065 | template MySeqOfNull t_msonFloatValueBeforeOmit2 := { NULL,NULL,NULL } | |
1066 | with { erroneous ([2]) "before:= omit all"; erroneous ([2]) "value:= 0.1"}; | |
1067 | template MySeqOfNull t_msonBeforeOmit1 := { NULL,NULL,NULL } | |
1068 | with { erroneous ([1]) "before:= omit all" }; | |
1069 | template MySeqOfNull t_msonIntValueBeforeOmit1 := { NULL,NULL,NULL } | |
1070 | with { erroneous ([1]) "before:= omit all"; erroneous ([1]) "value:= 2011"}; | |
1071 | template MySeqOfNull t_msonFloatValueBeforeOmit1 := { NULL,NULL,NULL } | |
1072 | with { erroneous ([1]) "before:= omit all"; erroneous ([1]) "value:= 0.1"}; | |
1073 | template MySeqOfNull t_msonFloatValueBeforeOmit1_2 := { NULL,NULL,NULL } | |
1074 | with { erroneous ([1]) "before:= omit all"; erroneous ([2]) "value:= 0.1"}; | |
1075 | ||
1076 | template MySeqOfNull t_msonAfterOmit1 := { NULL,NULL,NULL } | |
1077 | with { erroneous ([1]) "after:= omit all" }; | |
1078 | template MySeqOfNull t_msonIntValueAfterOmit1 := { NULL,NULL,NULL } | |
1079 | with { erroneous ([1]) "after:= omit all"; erroneous ([1]) "value:= 2011"}; | |
1080 | template MySeqOfNull t_msonFloatValueAfterOmit1 := { NULL,NULL,NULL } | |
1081 | with { erroneous ([1]) "after:= omit all"; erroneous ([1]) "value:= 0.1"}; | |
1082 | template MySeqOfNull t_msonFloatValueAfterOmit1_2 := { NULL,NULL,NULL } | |
1083 | with { erroneous ([1]) "after:= omit all"; erroneous ([0]) "value:= 0.1"}; | |
1084 | //INTEGER | |
1085 | template MySeqOfInt t_msoiValueDiffType(integer p_i, integer p_j, integer p_k) := { p_i, p_j, p_k } | |
1086 | with { erroneous ([0]) "value:= 1.414"; erroneous ([2]) "value:= true" }; | |
1087 | template MySeqOfInt t_msoiValueDiffTypeRaw(integer p_i, integer p_j, integer p_k) := { p_i, p_j, p_k } | |
1088 | with { erroneous ([0]) "value(raw):= '0101FF'O"; erroneous ([2]) "value:= true" }; | |
1089 | template MySeqOfInt t_msoiBeforeOmit2(integer p_i, integer p_j, integer p_k) := { p_i, p_j, p_k } | |
1090 | with { erroneous ([2]) "before:= omit all" }; | |
1091 | template MySeqOfInt t_msoiIntValueBeforeOmit2(integer p_i, integer p_j, integer p_k) := { p_i, p_j, p_k } | |
1092 | with { erroneous ([2]) "before:= omit all"; erroneous ([2]) "value:= 2011"}; | |
1093 | template MySeqOfInt t_msoiFloatValueBeforeOmit2(integer p_i, integer p_j, integer p_k) := { p_i, p_j, p_k } | |
1094 | with { erroneous ([2]) "before:= omit all"; erroneous ([2]) "value:= 0.1"}; | |
1095 | template MySeqOfInt t_msoiBeforeOmit1(integer p_i, integer p_j, integer p_k) := { p_i, p_j, p_k } | |
1096 | with { erroneous ([1]) "before:= omit all" }; | |
1097 | template MySeqOfInt t_msoiIntValueBeforeOmit1(integer p_i, integer p_j, integer p_k) := { p_i, p_j, p_k } | |
1098 | with { erroneous ([1]) "before:= omit all"; erroneous ([1]) "value:= 2011"}; | |
1099 | template MySeqOfInt t_msoiFloatValueBeforeOmit1(integer p_i, integer p_j, integer p_k) := { p_i, p_j, p_k } | |
1100 | with { erroneous ([1]) "before:= omit all"; erroneous ([1]) "value:= 0.1"}; | |
1101 | template MySeqOfInt t_msoiFloatValueBeforeOmit1_2(integer p_i, integer p_j, integer p_k) := { p_i, p_j, p_k } | |
1102 | with { erroneous ([1]) "before:= omit all"; erroneous ([2]) "value:= 0.1"}; | |
1103 | ||
1104 | template MySeqOfInt t_msoiAfterOmit1(integer p_i, integer p_j, integer p_k) := { p_i, p_j, p_k } | |
1105 | with { erroneous ([1]) "after:= omit all" }; | |
1106 | template MySeqOfInt t_msoiIntValueAfterOmit1(integer p_i, integer p_j, integer p_k) := { p_i, p_j, p_k } | |
1107 | with { erroneous ([1]) "after:= omit all"; erroneous ([1]) "value:= 2011"}; | |
1108 | template MySeqOfInt t_msoiFloatValueAfterOmit1(integer p_i, integer p_j, integer p_k) := { p_i, p_j, p_k } | |
1109 | with { erroneous ([1]) "after:= omit all"; erroneous ([1]) "value:= 0.1"}; | |
1110 | template MySeqOfInt t_msoiFloatValueAfterOmit1_2(integer p_i, integer p_j, integer p_k) := { p_i, p_j, p_k } | |
1111 | with { erroneous ([1]) "after:= omit all"; erroneous ([0]) "value:= 0.1"}; | |
1112 | //MyEnum | |
1113 | template MySeqOfMyEnum t_msoeValueDiffType(MyEnum p_i, MyEnum p_j, MyEnum p_k) := { p_i, p_j, p_k } | |
1114 | with { erroneous ([0]) "value:= 1.414"; erroneous ([2]) "value:= true" }; | |
1115 | template MySeqOfMyEnum t_msoeValueDiffTypeRaw(MyEnum p_i, MyEnum p_j, MyEnum p_k) := { p_i, p_j, p_k } | |
1116 | with { erroneous ([0]) "value(raw):= '0101FF'O"; erroneous ([2]) "value:= true" }; | |
1117 | template MySeqOfMyEnum t_msoeBeforeOmit2(MyEnum p_i, MyEnum p_j, MyEnum p_k) := { p_i, p_j, p_k } | |
1118 | with { erroneous ([2]) "before:= omit all" }; | |
1119 | template MySeqOfMyEnum t_msoeIntValueBeforeOmit2(MyEnum p_i, MyEnum p_j, MyEnum p_k) := { p_i, p_j, p_k } | |
1120 | with { erroneous ([2]) "before:= omit all"; erroneous ([2]) "value:= 2011"}; | |
1121 | template MySeqOfMyEnum t_msoeFloatValueBeforeOmit2(MyEnum p_i, MyEnum p_j, MyEnum p_k) := { p_i, p_j, p_k } | |
1122 | with { erroneous ([2]) "before:= omit all"; erroneous ([2]) "value:= 0.1"}; | |
1123 | template MySeqOfMyEnum t_msoeBeforeOmit1(MyEnum p_i, MyEnum p_j, MyEnum p_k) := { p_i, p_j, p_k } | |
1124 | with { erroneous ([1]) "before:= omit all" }; | |
1125 | template MySeqOfMyEnum t_msoeIntValueBeforeOmit1(MyEnum p_i, MyEnum p_j, MyEnum p_k) := { p_i, p_j, p_k } | |
1126 | with { erroneous ([1]) "before:= omit all"; erroneous ([1]) "value:= 2011"}; | |
1127 | template MySeqOfMyEnum t_msoeFloatValueBeforeOmit1(MyEnum p_i, MyEnum p_j, MyEnum p_k) := { p_i, p_j, p_k } | |
1128 | with { erroneous ([1]) "before:= omit all"; erroneous ([1]) "value:= 0.1"}; | |
1129 | template MySeqOfMyEnum t_msoeFloatValueBeforeOmit1_2(MyEnum p_i, MyEnum p_j, MyEnum p_k) := { p_i, p_j, p_k } | |
1130 | with { erroneous ([1]) "before:= omit all"; erroneous ([2]) "value:= 0.1"}; | |
1131 | ||
1132 | template MySeqOfMyEnum t_msoeAfterOmit1(MyEnum p_i, MyEnum p_j, MyEnum p_k) := { p_i, p_j, p_k } | |
1133 | with { erroneous ([1]) "after:= omit all" }; | |
1134 | template MySeqOfMyEnum t_msoeIntValueAfterOmit1(MyEnum p_i, MyEnum p_j, MyEnum p_k) := { p_i, p_j, p_k } | |
1135 | with { erroneous ([1]) "after:= omit all"; erroneous ([1]) "value:= 2011"}; | |
1136 | template MySeqOfMyEnum t_msoeFloatValueAfterOmit1(MyEnum p_i, MyEnum p_j, MyEnum p_k) := { p_i, p_j, p_k } | |
1137 | with { erroneous ([1]) "after:= omit all"; erroneous ([1]) "value:= 0.1"}; | |
1138 | template MySeqOfMyEnum t_msoeFloatValueAfterOmit1_2(MyEnum p_i, MyEnum p_j, MyEnum p_k) := { p_i, p_j, p_k } | |
1139 | with { erroneous ([1]) "after:= omit all"; erroneous ([0]) "value:= 0.1"}; | |
1140 | //Real (float): | |
1141 | template MySeqOfReal t_msorValueDiffType(float p_i, float p_j, float p_k) := { p_i, p_j, p_k } | |
1142 | with { erroneous ([0]) "value:= 1.414"; erroneous ([2]) "value:= true" }; | |
1143 | template MySeqOfReal t_msorValueDiffTypeRaw(float p_i, float p_j, float p_k) := { p_i, p_j, p_k } | |
1144 | with { erroneous ([0]) "value(raw):= '0101FF'O"; erroneous ([2]) "value:= true" }; | |
1145 | template MySeqOfReal t_msorBeforeOmit2(float p_i, float p_j, float p_k) := { p_i, p_j, p_k } | |
1146 | with { erroneous ([2]) "before:= omit all" }; | |
1147 | template MySeqOfReal t_msorIntValueBeforeOmit2(float p_i, float p_j, float p_k) := { p_i, p_j, p_k } | |
1148 | with { erroneous ([2]) "before:= omit all"; erroneous ([2]) "value:= 2011"}; | |
1149 | template MySeqOfReal t_msorFloatValueBeforeOmit2(float p_i, float p_j, float p_k) := { p_i, p_j, p_k } | |
1150 | with { erroneous ([2]) "before:= omit all"; erroneous ([2]) "value:= 0.1"}; | |
1151 | template MySeqOfReal t_msorBeforeOmit1(float p_i, float p_j, float p_k) := { p_i, p_j, p_k } | |
1152 | with { erroneous ([1]) "before:= omit all" }; | |
1153 | template MySeqOfReal t_msorIntValueBeforeOmit1(float p_i, float p_j, float p_k) := { p_i, p_j, p_k } | |
1154 | with { erroneous ([1]) "before:= omit all"; erroneous ([1]) "value:= 2011"}; | |
1155 | template MySeqOfReal t_msorFloatValueBeforeOmit1(float p_i, float p_j, float p_k) := { p_i, p_j, p_k } | |
1156 | with { erroneous ([1]) "before:= omit all"; erroneous ([1]) "value:= 0.1"}; | |
1157 | template MySeqOfReal t_msorFloatValueBeforeOmit1_2(float p_i, float p_j, float p_k) := { p_i, p_j, p_k } | |
1158 | with { erroneous ([1]) "before:= omit all"; erroneous ([2]) "value:= 0.1"}; | |
1159 | ||
1160 | template MySeqOfReal t_msorAfterOmit1(float p_i, float p_j, float p_k) := { p_i, p_j, p_k } | |
1161 | with { erroneous ([1]) "after:= omit all" }; | |
1162 | template MySeqOfReal t_msorIntValueAfterOmit1(float p_i, float p_j, float p_k) := { p_i, p_j, p_k } | |
1163 | with { erroneous ([1]) "after:= omit all"; erroneous ([1]) "value:= 2011"}; | |
1164 | template MySeqOfReal t_msorFloatValueAfterOmit1(float p_i, float p_j, float p_k) := { p_i, p_j, p_k } | |
1165 | with { erroneous ([1]) "after:= omit all"; erroneous ([1]) "value:= 0.1"}; | |
1166 | template MySeqOfReal t_msorFloatValueAfterOmit1_2(float p_i, float p_j, float p_k) := { p_i, p_j, p_k } | |
1167 | with { erroneous ([1]) "after:= omit all"; erroneous ([0]) "value:= 0.1"}; | |
1168 | //more complex: | |
1169 | template MySeqOfSeqSeqIntSeqInt2SeqReal2 t_msossisi2sr2_omitj(template MySeqSeqIntSeqInt2SeqReal2 p_s1,template MySeqSeqIntSeqInt2SeqReal2 p_s2) :={ p_s1, p_s2} | |
1170 | with { erroneous([0].jkl.jk.j) "value:=omit" } | |
1171 | ||
1172 | template MySeqOfSeqSeqIntSeqInt2SeqReal2 t_msossisi2sr2_beforeomitj(template MySeqSeqIntSeqInt2SeqReal2 p_s1,template MySeqSeqIntSeqInt2SeqReal2 p_s2) :={ p_s1, p_s2} | |
1173 | with { erroneous([0].jkl.jk.j) "before:=omit all" erroneous([1].jkl.jk.i) "after:=omit all"} | |
1174 | ||
1175 | template MySeqOfSeqSeqIntSeqInt2SeqReal2 t_msossisi2sr2_beforeafteromit( | |
1176 | template MySeqSeqIntSeqInt2SeqReal2 p_s1,template MySeqSeqIntSeqInt2SeqReal2 p_s2) :={ p_s1, p_s2} | |
1177 | with { erroneous([0].jkl.jk.j) "before:=omit all" erroneous([1].jkl.jk.i) "after:=omit all"} | |
1178 | ||
1179 | template MySeqOfSeqSeqIntSeqInt2SeqReal2 t_msossisi2sr2_arglist_omit( | |
1180 | template MySeqSeqIntSeqInt2SeqReal2 p_s1,template MySeqSeqIntSeqInt2SeqReal2 p_s2) :={ p_s1, p_s2} | |
1181 | with { erroneous([0].jkl.i, [0].jkl.jk.j, [0].xy.x) "value:=omit" erroneous([1].jkl.jk.i, [1].xy.x) "after:=omit all"} | |
1182 | ||
1183 | template MySeqOfSeqSeqIntSeqInt2SeqReal2 t_msossisi2sr2_arglist_afteromit( | |
1184 | template MySeqSeqIntSeqInt2SeqReal2 p_s1,template MySeqSeqIntSeqInt2SeqReal2 p_s2) :={ p_s1, p_s2} | |
1185 | with { erroneous([0].jkl.jk.i, [0].xy.x) "after:=omit all" erroneous([1].jkl.jk.i, [1].xy.x) "after:=omit all"} | |
1186 | ||
1187 | template MySeqOfSeqSeqIntSeqInt2SeqReal2 t_msossisi2sr2_arglist_beforeomit( | |
1188 | template MySeqSeqIntSeqInt2SeqReal2 p_s1,template MySeqSeqIntSeqInt2SeqReal2 p_s2) :={ p_s1, p_s2} | |
1189 | with { erroneous([0].jkl.jk.j, [0].xy.y) "before:=omit all" erroneous([1].jkl.jk.i, [1].xy.x) "after:=omit all"} | |
1190 | //============ Testcases==================== | |
1191 | //Testcase of same type | |
1192 | testcase tc_MySeqOfBoolValueSameType1() runs on MyComp { | |
1193 | f_compareAndVerdict( | |
1194 | encode_mySeqOfBool(valueof(t_msobValueSameType(false, false,false))), | |
1195 | encode_mySeqOfBool(valueof(t_msob(true, false, true)))); | |
1196 | //encoded value: '30090101FF 010100 0101FF'O : T:30 (SEQ), L:09, | |
1197 | //0101FF: T:01 (BOOLEAN), L:01 V:FF (TRUE) | |
1198 | //010100: T:01 (BOOLEAN), L:01, V:00 (FALSE) | |
1199 | //0101FF: T:01 (BOOLEAN), L:01 V:FF (TRUE) | |
1200 | } | |
1201 | ||
1202 | testcase tc_MySeqOfBoolValueSameType2() runs on MyComp { | |
1203 | f_compareAndVerdict( | |
1204 | encode_mySeqOfBool(valueof(t_msobValueSameType(true, true,true))), | |
1205 | encode_mySeqOfBool(valueof(t_msob(true, true, true)))); | |
1206 | } | |
1207 | ||
1208 | testcase tc_MySeqOfBoolValueDiffType() runs on MyComp { | |
1209 | var MySeqOfMyUnionBT vl_expected :={ {r:=1.414}, {b:=true}, {i:=2011}}; | |
1210 | f_compareAndVerdict( | |
1211 | encode_mySeqOfBool(valueof(t_msobValueDiffType(true, true,true))), | |
1212 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1213 | //'3012090903313431342E452D330101FF020207DB'O : T:30 (SEQ), L:12 (18dec) V: '090903313431342E452D330101FF020207DB'O | |
1214 | //'090903313431342E452D33'O T:09 (REAL) L:09 V:03313431342E452D33 ... (1.414) | |
1215 | //0101FF (true) | |
1216 | //020207DB'O (2011) | |
1217 | } | |
1218 | ||
1219 | testcase tc_MySeqOfBoolValueRaw() runs on MyComp { | |
1220 | var MySeqOfMyUnionBT vl_expected :={ {i:=10}, {b:=true}, {i:=2011}}; | |
1221 | f_compareAndVerdict( | |
1222 | encode_mySeqOfBool(valueof(t_msobValueDiffTypeRaw(true, true,true))), | |
1223 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1224 | //02010A i=10 | |
1225 | } | |
1226 | ||
1227 | testcase tc_MySeqOfBoolValueOmit() runs on MyComp { | |
1228 | var MySeqOfMyUnionBT vl_expected :={ {b:=true} }; | |
1229 | f_compareAndVerdict( | |
1230 | encode_mySeqOfBool(valueof(t_msobValueOmit(false, false,true))), | |
1231 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1232 | } | |
1233 | ||
1234 | testcase tc_MySeqOfBoolAfterOmit() runs on MyComp { | |
1235 | var MySeqOfMyUnionBT vl_expected :={ {b:=false} }; | |
1236 | f_compareAndVerdict( | |
1237 | encode_mySeqOfBool(valueof(t_msobAfterOmit(false, true,true))), | |
1238 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1239 | } | |
1240 | ||
1241 | testcase tc_MySeqOfBoolValueAfterOmit() runs on MyComp { | |
1242 | var MySeqOfMyUnionBT vl_expected :={ {b:=true} }; | |
1243 | f_compareAndVerdict( | |
1244 | encode_mySeqOfBool(valueof(t_msobValueAfterOmit(false, false,false))), | |
1245 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1246 | } | |
1247 | ||
1248 | testcase tc_MySeqOfBoolBeforeOmit2() runs on MyComp { | |
1249 | var MySeqOfMyUnionBT vl_expected :={ {b:=true} }; | |
1250 | f_compareAndVerdict( | |
1251 | encode_mySeqOfBool(valueof(t_msobBeforeOmit2(false, false,true))), | |
1252 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1253 | } | |
1254 | ||
1255 | testcase tc_MySeqOfBoolValueBeforeOmit2() runs on MyComp { | |
1256 | var MySeqOfMyUnionBT vl_expected :={ {b:=true} }; | |
1257 | f_compareAndVerdict( | |
1258 | encode_mySeqOfBool(valueof(t_msobValueBeforeOmit2(false, false,false))), | |
1259 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1260 | } | |
1261 | ||
1262 | testcase tc_MySeqOfBoolBeforeOmit1() runs on MyComp { | |
1263 | var MySeqOfMyUnionBT vl_expected :={ {b:=false},{b:=true} }; | |
1264 | f_compareAndVerdict( | |
1265 | encode_mySeqOfBool(valueof(t_msobBeforeOmit1(true, false,true))), | |
1266 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1267 | } | |
1268 | ||
1269 | testcase tc_MySeqOfBoolValueBeforeOmit1() runs on MyComp { | |
1270 | var MySeqOfMyUnionBT vl_expected :={ {b:=true},{b:=false} }; | |
1271 | f_compareAndVerdict( | |
1272 | encode_mySeqOfBool(valueof(t_msobValueBeforeOmit1(false, false,false))), | |
1273 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1274 | } | |
1275 | //NULL | |
1276 | testcase tc_MySeqOfNullValueDiffType() runs on MyComp { | |
1277 | var MySeqOfMyUnionBT vl_expected :={ {r:=1.414}, {n:=NULL}, {i:=2011}}; | |
1278 | f_compareAndVerdict( | |
1279 | encode_mySeqOfNull(valueof(t_msonValueDiffType)), | |
1280 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1281 | } | |
1282 | testcase tc_MySeqOfNullValueDiffTypeRaw() runs on MyComp { | |
1283 | var MySeqOfMyUnionBT vl_expected :={ {i:=10}, {n:=NULL}, {i:=2011}}; | |
1284 | f_compareAndVerdict( | |
1285 | encode_mySeqOfNull(valueof(t_msonValueDiffTypeRaw)), | |
1286 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1287 | } | |
1288 | testcase tc_MySeqOfNullBeforeOmit2() runs on MyComp { | |
1289 | var MySeqOfMyUnionBT vl_expected :={ {n:=NULL}}; | |
1290 | f_compareAndVerdict( | |
1291 | encode_mySeqOfNull(valueof(t_msonBeforeOmit2)), | |
1292 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1293 | } | |
1294 | testcase tc_MySeqOfNullIntValueBeforeOmit2() runs on MyComp { | |
1295 | var MySeqOfMyUnionBT vl_expected :={ {i:=2011}}; | |
1296 | f_compareAndVerdict( | |
1297 | encode_mySeqOfNull(valueof(t_msonIntValueBeforeOmit2)), | |
1298 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1299 | } | |
1300 | testcase tc_MySeqOfNullFloatValueBeforeOmit2() runs on MyComp { | |
1301 | var MySeqOfMyUnionBT vl_expected :={ {r:=0.1}}; | |
1302 | f_compareAndVerdict( | |
1303 | encode_mySeqOfNull(valueof(t_msonFloatValueBeforeOmit2)), | |
1304 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1305 | } | |
1306 | testcase tc_MySeqOfNullBeforeOmit1() runs on MyComp { | |
1307 | var MySeqOfMyUnionBT vl_expected :={ {n:=NULL},{n:=NULL} }; | |
1308 | f_compareAndVerdict( | |
1309 | encode_mySeqOfNull(valueof(t_msonBeforeOmit1)), | |
1310 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1311 | } | |
1312 | testcase tc_MySeqOfNullIntValueBeforeOmit1() runs on MyComp { | |
1313 | var MySeqOfMyUnionBT vl_expected :={ {i:=2011}, {n:=NULL}}; | |
1314 | f_compareAndVerdict( | |
1315 | encode_mySeqOfNull(valueof(t_msonIntValueBeforeOmit1)), | |
1316 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1317 | } | |
1318 | testcase tc_MySeqOfNullFloatValueBeforeOmit1() runs on MyComp { | |
1319 | var MySeqOfMyUnionBT vl_expected :={ {r:=0.1},{n:=NULL}}; | |
1320 | f_compareAndVerdict( | |
1321 | encode_mySeqOfNull(valueof(t_msonFloatValueBeforeOmit1)), | |
1322 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1323 | } | |
1324 | testcase tc_MySeqOfNullFloatValueBeforeOmit1_2() runs on MyComp { | |
1325 | var MySeqOfMyUnionBT vl_expected :={ {n:=NULL},{r:=0.1}}; | |
1326 | f_compareAndVerdict( | |
1327 | encode_mySeqOfNull(valueof(t_msonFloatValueBeforeOmit1_2)), | |
1328 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1329 | } | |
1330 | ||
1331 | testcase tc_MySeqOfNullAfterOmit1() runs on MyComp { | |
1332 | var MySeqOfMyUnionBT vl_expected :={ {n:=NULL}, {n:=NULL} }; | |
1333 | f_compareAndVerdict( | |
1334 | encode_mySeqOfNull(valueof(t_msonAfterOmit1)), | |
1335 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1336 | } | |
1337 | testcase tc_MySeqOfNullIntValueAfterOmit1() runs on MyComp { | |
1338 | var MySeqOfMyUnionBT vl_expected :={ {n:=NULL},{i:=2011}}; | |
1339 | f_compareAndVerdict( | |
1340 | encode_mySeqOfNull(valueof(t_msonIntValueAfterOmit1)), | |
1341 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1342 | } | |
1343 | testcase tc_MySeqOfNullFloatValueAfterOmit1() runs on MyComp { | |
1344 | var MySeqOfMyUnionBT vl_expected :={ {n:=NULL},{r:=0.1}}; | |
1345 | f_compareAndVerdict( | |
1346 | encode_mySeqOfNull(valueof(t_msonFloatValueAfterOmit1)), | |
1347 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1348 | } | |
1349 | testcase tc_MySeqOfNullFloatValueAfterOmit1_2() runs on MyComp { | |
1350 | var MySeqOfMyUnionBT vl_expected :={ {r:=0.1},{n:=NULL}}; | |
1351 | f_compareAndVerdict( | |
1352 | encode_mySeqOfNull(valueof(t_msonFloatValueAfterOmit1)), | |
1353 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1354 | } | |
1355 | //INTEGER | |
1356 | testcase tc_MySeqOfIntValueDiffType() runs on MyComp { | |
1357 | var MySeqOfMyUnionBT vl_expected :={ {r:=1.414}, {i:=2}, {b:=true}}; | |
1358 | f_compareAndVerdict( | |
1359 | encode_mySeqOfInt(valueof(t_msoiValueDiffType(1,2,3))), | |
1360 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1361 | } | |
1362 | testcase tc_MySeqOfIntValueDiffTypeRaw() runs on MyComp { | |
1363 | var MySeqOfMyUnionBT vl_expected :={ {b:=true}, {i:=2}, {b:=true}}; | |
1364 | f_compareAndVerdict( | |
1365 | encode_mySeqOfInt(valueof(t_msoiValueDiffTypeRaw(1,2,3))), | |
1366 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1367 | } | |
1368 | testcase tc_MySeqOfIntBeforeOmit2() runs on MyComp { | |
1369 | var MySeqOfMyUnionBT vl_expected :={ {i:=3} }; | |
1370 | f_compareAndVerdict( | |
1371 | encode_mySeqOfInt(valueof(t_msoiBeforeOmit2(1,2,3))), | |
1372 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1373 | } | |
1374 | testcase tc_MySeqOfIntIntValueBeforeOmit2() runs on MyComp { | |
1375 | var MySeqOfMyUnionBT vl_expected :={ {i:=2011}}; | |
1376 | f_compareAndVerdict( | |
1377 | encode_mySeqOfInt(valueof(t_msoiIntValueBeforeOmit2(1,2,3))), | |
1378 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1379 | } | |
1380 | testcase tc_MySeqOfIntFloatValueBeforeOmit2() runs on MyComp { | |
1381 | var MySeqOfMyUnionBT vl_expected :={ {r:=0.1}}; | |
1382 | f_compareAndVerdict( | |
1383 | encode_mySeqOfInt(valueof(t_msoiFloatValueBeforeOmit2(1,2,3))), | |
1384 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1385 | } | |
1386 | testcase tc_MySeqOfIntBeforeOmit1() runs on MyComp { | |
1387 | var MySeqOfMyUnionBT vl_expected :={ {i:=2},{i:=3} }; | |
1388 | f_compareAndVerdict( | |
1389 | encode_mySeqOfInt(valueof(t_msoiBeforeOmit1(1,2,3))), | |
1390 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1391 | } | |
1392 | testcase tc_MySeqOfIntIntValueBeforeOmit1() runs on MyComp { | |
1393 | var MySeqOfMyUnionBT vl_expected :={ {i:=2011}, {i:=3}}; | |
1394 | f_compareAndVerdict( | |
1395 | encode_mySeqOfInt(valueof(t_msoiIntValueBeforeOmit1(1,2,3))), | |
1396 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1397 | } | |
1398 | testcase tc_MySeqOfIntFloatValueBeforeOmit1() runs on MyComp { | |
1399 | var MySeqOfMyUnionBT vl_expected :={ {r:=0.1},{i:=3}}; | |
1400 | f_compareAndVerdict( | |
1401 | encode_mySeqOfInt(valueof(t_msoiFloatValueBeforeOmit1(1,2,3))), | |
1402 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1403 | } | |
1404 | testcase tc_MySeqOfIntFloatValueBeforeOmit1_2() runs on MyComp { | |
1405 | var MySeqOfMyUnionBT vl_expected :={ {i:=2},{r:=0.1}}; | |
1406 | f_compareAndVerdict( | |
1407 | encode_mySeqOfInt(valueof(t_msoiFloatValueBeforeOmit1_2(1,2,3))), | |
1408 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1409 | } | |
1410 | ||
1411 | testcase tc_MySeqOfIntAfterOmit1() runs on MyComp { | |
1412 | var MySeqOfMyUnionBT vl_expected :={ {i:=1}, {i:=2} } ; | |
1413 | f_compareAndVerdict( | |
1414 | encode_mySeqOfInt(valueof(t_msoiAfterOmit1(1,2,3))), | |
1415 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1416 | } | |
1417 | testcase tc_MySeqOfIntIntValueAfterOmit1() runs on MyComp { | |
1418 | var MySeqOfMyUnionBT vl_expected :={ {i:=1},{i:=2011}}; | |
1419 | f_compareAndVerdict( | |
1420 | encode_mySeqOfInt(valueof(t_msoiIntValueAfterOmit1(1,2,3))), | |
1421 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1422 | } | |
1423 | testcase tc_MySeqOfIntFloatValueAfterOmit1() runs on MyComp { | |
1424 | var MySeqOfMyUnionBT vl_expected :={ {i:=1},{r:=0.1}}; | |
1425 | f_compareAndVerdict( | |
1426 | encode_mySeqOfInt(valueof(t_msoiFloatValueAfterOmit1(1,2,3))), | |
1427 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1428 | } | |
1429 | testcase tc_MySeqOfIntFloatValueAfterOmit1_2() runs on MyComp { | |
1430 | var MySeqOfMyUnionBT vl_expected :={ {r:=0.1},{i:=2}}; | |
1431 | f_compareAndVerdict( | |
1432 | encode_mySeqOfInt(valueof(t_msoiFloatValueAfterOmit1_2(1,2,3))), | |
1433 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1434 | } | |
1435 | //MyEnum | |
1436 | testcase tc_MySeqOfMyEnumValueDiffType() runs on MyComp { | |
1437 | var MySeqOfMyUnionBT vl_expected :={ {r:=1.414}, {e:=second}, {b:=true}}; | |
1438 | f_compareAndVerdict( | |
1439 | encode_mySeqOfMyEnum(valueof(t_msoeValueDiffType(first, second, third))), | |
1440 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1441 | } | |
1442 | testcase tc_MySeqOfMyEnumValueDiffTypeRaw() runs on MyComp { | |
1443 | var MySeqOfMyUnionBT vl_expected :={ {b:=true}, {e:=second}, {b:=true}}; | |
1444 | f_compareAndVerdict( | |
1445 | encode_mySeqOfMyEnum(valueof(t_msoeValueDiffTypeRaw(first, second, third))), | |
1446 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1447 | } | |
1448 | testcase tc_MySeqOfMyEnumBeforeOmit2() runs on MyComp { | |
1449 | var MySeqOfMyUnionBT vl_expected :={ {e:=third} }; | |
1450 | f_compareAndVerdict( | |
1451 | encode_mySeqOfMyEnum(valueof(t_msoeBeforeOmit2(first, second, third))), | |
1452 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1453 | } | |
1454 | testcase tc_MySeqOfMyEnumIntValueBeforeOmit2() runs on MyComp { | |
1455 | var MySeqOfMyUnionBT vl_expected :={ {i:=2011}}; | |
1456 | f_compareAndVerdict( | |
1457 | encode_mySeqOfMyEnum(valueof(t_msoeIntValueBeforeOmit2(first, second, third))), | |
1458 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1459 | } | |
1460 | testcase tc_MySeqOfMyEnumFloatValueBeforeOmit2() runs on MyComp { | |
1461 | var MySeqOfMyUnionBT vl_expected :={ {r:=0.1}}; | |
1462 | f_compareAndVerdict( | |
1463 | encode_mySeqOfMyEnum(valueof(t_msoeFloatValueBeforeOmit2(first, second, third))), | |
1464 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1465 | } | |
1466 | testcase tc_MySeqOfMyEnumBeforeOmit1() runs on MyComp { | |
1467 | var MySeqOfMyUnionBT vl_expected :={ {e:=second},{e:=third} }; | |
1468 | f_compareAndVerdict( | |
1469 | encode_mySeqOfMyEnum(valueof(t_msoeBeforeOmit1(first, second, third))), | |
1470 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1471 | } | |
1472 | testcase tc_MySeqOfMyEnumIntValueBeforeOmit1() runs on MyComp { | |
1473 | var MySeqOfMyUnionBT vl_expected :={ {i:=2011}, {e:=third}}; | |
1474 | f_compareAndVerdict( | |
1475 | encode_mySeqOfMyEnum(valueof(t_msoeIntValueBeforeOmit1(first, second, third))), | |
1476 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1477 | } | |
1478 | testcase tc_MySeqOfMyEnumFloatValueBeforeOmit1() runs on MyComp { | |
1479 | var MySeqOfMyUnionBT vl_expected :={ {r:=0.1},{e:=third}}; | |
1480 | f_compareAndVerdict( | |
1481 | encode_mySeqOfMyEnum(valueof(t_msoeFloatValueBeforeOmit1(first, second, third))), | |
1482 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1483 | } | |
1484 | testcase tc_MySeqOfMyEnumFloatValueBeforeOmit1_2() runs on MyComp { | |
1485 | var MySeqOfMyUnionBT vl_expected :={ {e:=second},{r:=0.1}}; | |
1486 | f_compareAndVerdict( | |
1487 | encode_mySeqOfMyEnum(valueof(t_msoeFloatValueBeforeOmit1_2(first, second, third))), | |
1488 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1489 | } | |
1490 | ||
1491 | testcase tc_MySeqOfMyEnumAfterOmit1() runs on MyComp { | |
1492 | var MySeqOfMyUnionBT vl_expected :={ {e:=first}, {e:=second} } ; | |
1493 | f_compareAndVerdict( | |
1494 | encode_mySeqOfMyEnum(valueof(t_msoeAfterOmit1(first, second, third))), | |
1495 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1496 | } | |
1497 | testcase tc_MySeqOfMyEnumIntValueAfterOmit1() runs on MyComp { | |
1498 | var MySeqOfMyUnionBT vl_expected :={ {e:=first},{i:=2011}}; | |
1499 | f_compareAndVerdict( | |
1500 | encode_mySeqOfMyEnum(valueof(t_msoeIntValueAfterOmit1(first, second, third))), | |
1501 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1502 | } | |
1503 | testcase tc_MySeqOfMyEnumFloatValueAfterOmit1() runs on MyComp { | |
1504 | var MySeqOfMyUnionBT vl_expected :={ {e:=first},{r:=0.1}}; | |
1505 | f_compareAndVerdict( | |
1506 | encode_mySeqOfMyEnum(valueof(t_msoeFloatValueAfterOmit1(first, second, third))), | |
1507 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1508 | } | |
1509 | testcase tc_MySeqOfMyEnumFloatValueAfterOmit1_2() runs on MyComp { | |
1510 | var MySeqOfMyUnionBT vl_expected :={ {r:=0.1},{e:=second}}; | |
1511 | f_compareAndVerdict( | |
1512 | encode_mySeqOfMyEnum(valueof(t_msoeFloatValueAfterOmit1_2(first, second, third))), | |
1513 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1514 | } | |
1515 | ||
1516 | //Real (Float) | |
1517 | testcase tc_MySeqOfRealValueDiffType() runs on MyComp { | |
1518 | var MySeqOfMyUnionBT vl_expected :={ {r:=1.414}, {r:=2.0}, {b:=true}}; | |
1519 | f_compareAndVerdict( | |
1520 | encode_mySeqOfReal(valueof(t_msorValueDiffType(1.0, 2.0, 3.0))), | |
1521 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1522 | } | |
1523 | testcase tc_MySeqOfRealValueDiffTypeRaw() runs on MyComp { | |
1524 | var MySeqOfMyUnionBT vl_expected :={ {b:=true}, {r:=2.0}, {b:=true}}; | |
1525 | f_compareAndVerdict( | |
1526 | encode_mySeqOfReal(valueof(t_msorValueDiffTypeRaw(1.0, 2.0, 3.0))), | |
1527 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1528 | } | |
1529 | testcase tc_MySeqOfRealBeforeOmit2() runs on MyComp { | |
1530 | var MySeqOfMyUnionBT vl_expected :={ {r:=3.0} }; | |
1531 | f_compareAndVerdict( | |
1532 | encode_mySeqOfReal(valueof(t_msorBeforeOmit2(1.0, 2.0, 3.0))), | |
1533 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1534 | } | |
1535 | testcase tc_MySeqOfRealIntValueBeforeOmit2() runs on MyComp { | |
1536 | var MySeqOfMyUnionBT vl_expected :={ {i:=2011}}; | |
1537 | f_compareAndVerdict( | |
1538 | encode_mySeqOfReal(valueof(t_msorIntValueBeforeOmit2(1.0, 2.0, 3.0))), | |
1539 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1540 | } | |
1541 | testcase tc_MySeqOfRealFloatValueBeforeOmit2() runs on MyComp { | |
1542 | var MySeqOfMyUnionBT vl_expected :={ {r:=0.1}}; | |
1543 | f_compareAndVerdict( | |
1544 | encode_mySeqOfReal(valueof(t_msorFloatValueBeforeOmit2(1.0, 2.0, 3.0))), | |
1545 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1546 | } | |
1547 | testcase tc_MySeqOfRealBeforeOmit1() runs on MyComp { | |
1548 | var MySeqOfMyUnionBT vl_expected :={ {r:=2.0},{r:=3.0} }; | |
1549 | f_compareAndVerdict( | |
1550 | encode_mySeqOfReal(valueof(t_msorBeforeOmit1(1.0, 2.0, 3.0))), | |
1551 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1552 | } | |
1553 | testcase tc_MySeqOfRealIntValueBeforeOmit1() runs on MyComp { | |
1554 | var MySeqOfMyUnionBT vl_expected :={ {i:=2011}, {r:=3.0}}; | |
1555 | f_compareAndVerdict( | |
1556 | encode_mySeqOfReal(valueof(t_msorIntValueBeforeOmit1(1.0, 2.0, 3.0))), | |
1557 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1558 | } | |
1559 | testcase tc_MySeqOfRealFloatValueBeforeOmit1() runs on MyComp { | |
1560 | var MySeqOfMyUnionBT vl_expected :={ {r:=0.1},{r:=3.0}}; | |
1561 | f_compareAndVerdict( | |
1562 | encode_mySeqOfReal(valueof(t_msorFloatValueBeforeOmit1(1.0, 2.0, 3.0))), | |
1563 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1564 | } | |
1565 | testcase tc_MySeqOfRealFloatValueBeforeOmit1_2() runs on MyComp { | |
1566 | var MySeqOfMyUnionBT vl_expected :={ {r:=2.0},{r:=0.1}}; | |
1567 | f_compareAndVerdict( | |
1568 | encode_mySeqOfReal(valueof(t_msorFloatValueBeforeOmit1_2(1.0, 2.0, 3.0))), | |
1569 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1570 | } | |
1571 | ||
1572 | testcase tc_MySeqOfRealAfterOmit1() runs on MyComp { | |
1573 | var MySeqOfMyUnionBT vl_expected :={ {r:=1.0}, {r:=2.0} } ; | |
1574 | f_compareAndVerdict( | |
1575 | encode_mySeqOfReal(valueof(t_msorAfterOmit1(1.0, 2.0, 3.0))), | |
1576 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1577 | } | |
1578 | testcase tc_MySeqOfRealIntValueAfterOmit1() runs on MyComp { | |
1579 | var MySeqOfMyUnionBT vl_expected :={ {r:=1.0},{i:=2011}}; | |
1580 | f_compareAndVerdict( | |
1581 | encode_mySeqOfReal(valueof(t_msorIntValueAfterOmit1(1.0, 2.0, 3.0))), | |
1582 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1583 | } | |
1584 | testcase tc_MySeqOfRealFloatValueAfterOmit1() runs on MyComp { | |
1585 | var MySeqOfMyUnionBT vl_expected :={ {r:=1.0},{r:=0.1}}; | |
1586 | f_compareAndVerdict( | |
1587 | encode_mySeqOfReal(valueof(t_msorFloatValueAfterOmit1(1.0, 2.0, 3.0))), | |
1588 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1589 | } | |
1590 | testcase tc_MySeqOfRealFloatValueAfterOmit1_2() runs on MyComp { | |
1591 | var MySeqOfMyUnionBT vl_expected :={ {r:=0.1},{r:=2.0}}; | |
1592 | f_compareAndVerdict( | |
1593 | encode_mySeqOfReal(valueof(t_msorFloatValueAfterOmit1_2(1.0, 2.0, 3.0))), | |
1594 | encode_mySeqOfMyUnionBT( vl_expected )); | |
1595 | } | |
1596 | //BIT STRING | |
1597 | //OCTET STRING | |
1598 | ||
1599 | //More complex: | |
1600 | ||
1601 | testcase tc_MySeqOf_SeqSeqIntSeqInt2SeqReal2_omitj() runs on MyComp { | |
1602 | var MySeqSeqIntSeqInt2SeqReal2 vl_s1:={ {1,{2,3}}, {3.0,4.0} }, vl_s2:= {{5,{6,7}}, {7.0, 8.0}}; | |
1603 | var MySeq_SeqSeqIntSeqInt2optoptSeqReal2_SeqSeqIntSeqInt2optoptSeqReal2 vl_expected := { { omit,{1,{2, omit}}, {3.0,4.0} }, { omit,{5,{6,7}}, {7.0, 8.0}} } | |
1604 | f_compareAndVerdict( | |
1605 | encode_mySeqOfSeqSeqIntSeqInt2SeqReal2(valueof(t_msossisi2sr2_omitj(vl_s1, vl_s2))), | |
1606 | encode_mySeq_SeqSeqIntSeqInt2optoptSeqReal2_SeqSeqIntSeqInt2optoptSeqReal2(vl_expected)); | |
1607 | ||
1608 | } | |
1609 | ||
1610 | testcase tc_MySeqOf_SeqSeqIntSeqInt2SeqReal2_beforeafteromit() runs on MyComp { | |
1611 | var MySeqSeqIntSeqInt2SeqReal2 vl_s1:={ {1,{2,3}}, {3.0,4.0} }, vl_s2:= {{5,{6,7}}, {7.0, 8.0}}; | |
1612 | var MySeq_SeqSeqIntSeqInt2optoptSeqReal2_SeqSeqIntSeqInt2optoptSeqReal2 vl_expected := { { omit,{1,{3,omit}}, {3.0,4.0} }, { omit,{5,{6,omit}}, {7.0, 8.0}} } | |
1613 | f_compareAndVerdict( | |
1614 | encode_mySeqOfSeqSeqIntSeqInt2SeqReal2(valueof(t_msossisi2sr2_beforeafteromit(vl_s1, vl_s2))), | |
1615 | encode_mySeq_SeqSeqIntSeqInt2optoptSeqReal2_SeqSeqIntSeqInt2optoptSeqReal2(vl_expected)); | |
1616 | ||
1617 | } | |
1618 | ||
1619 | testcase tc_MySeqOf_SeqSeqIntSeqInt2SeqReal2_arglist_omit() runs on MyComp { | |
1620 | var MySeqSeqIntSeqInt2SeqReal2 vl_s1:={ {1,{2,3}}, {3.0,4.0} }, vl_s2:= {{5,{6,7}}, {7.0, 8.0}}; | |
1621 | var MySeq_SeqSeqIntSeqInt2optoptSeqReal2_SeqSeqIntSeqInt2optoptSeqReal2 vl_expected := { { omit,{omit,{2,omit}}, {4.0,omit} }, { omit,{5,{6,omit}}, {7.0,omit}} } | |
1622 | f_compareAndVerdict( | |
1623 | encode_mySeqOfSeqSeqIntSeqInt2SeqReal2(valueof(t_msossisi2sr2_arglist_omit(vl_s1, vl_s2))), | |
1624 | encode_mySeq_SeqSeqIntSeqInt2optoptSeqReal2_SeqSeqIntSeqInt2optoptSeqReal2(vl_expected)); | |
1625 | //encoded value: '30393019300530030201023010090603332E452B30090603342E452B30301C300802010530030201063010090603372E452B30090603382E452B30'O | |
1626 | // T:30 (SEQ (of)) L:39 (57dec) V: '3019300530030201023010090603332E452B30090603342E452B30 301C300802010530030201063010090603372E452B30090603382E452B30'O | |
1627 | //s1: | |
1628 | // T:30 (SEQ) L:19 (25dec) V: '300530030201023010090603332E452B30090603342E452B'O | |
1629 | //jkl:'30053003020102'O | |
1630 | // T:30 (SEQ L:05 V:'3003020102'O (int:2) | |
1631 | //xy: 3010090603332E452B30090603342E452B30301C'O | |
1632 | //T:30 (SEQ) L:10 (16dec) V:'090603332E452B30090603342E452B'O | |
1633 | //x: '090603332E452B30'O T:09 (REAL) L:06 V:'03332E452B30'O (3.0) | |
1634 | //y: '090603342E452B30'O T:09 (REAL) L:06 V:'03342E452B30'O (4.0) | |
1635 | //s2: | |
1636 | //300802010530030201063010090603372E452B30090603382E452B30'O: | |
1637 | } | |
1638 | ||
1639 | testcase tc_MySeqOf_SeqSeqIntSeqInt2SeqReal2_arglist_afteromit() runs on MyComp { | |
1640 | var MySeqSeqIntSeqInt2SeqReal2 vl_s1:={ {1,{2,3}}, {3.0,4.0} }, vl_s2:= {{5,{6,7}}, {7.0, 8.0}}; | |
1641 | var MySeq_SeqSeqIntSeqInt2optoptSeqReal2_SeqSeqIntSeqInt2optoptSeqReal2 vl_expected := { { omit,{1,{2,omit}}, {3.0,omit} }, { omit,{5,{6,omit}}, {7.0,omit}} } | |
1642 | f_compareAndVerdict( | |
1643 | encode_mySeqOfSeqSeqIntSeqInt2SeqReal2(valueof(t_msossisi2sr2_arglist_afteromit(vl_s1, vl_s2))), | |
1644 | encode_mySeq_SeqSeqIntSeqInt2optoptSeqReal2_SeqSeqIntSeqInt2optoptSeqReal2(vl_expected)); | |
1645 | } | |
1646 | testcase tc_MySeqOf_SeqSeqIntSeqInt2SeqReal2_arglist_beforeomit() runs on MyComp { | |
1647 | var MySeqSeqIntSeqInt2SeqReal2 vl_s1:={ {1,{2,3}}, {3.0,4.0} }, vl_s2:= {{5,{6,7}}, {7.0, 8.0}}; | |
1648 | var MySeq_SeqSeqIntSeqInt2optoptSeqReal2_SeqSeqIntSeqInt2optoptSeqReal2 vl_expected := { { omit,{1,{3,omit}}, {4.0,omit} }, { omit,{5,{6,omit}}, {7.0,omit}} } | |
1649 | f_compareAndVerdict( | |
1650 | encode_mySeqOfSeqSeqIntSeqInt2SeqReal2(valueof(t_msossisi2sr2_arglist_beforeomit(vl_s1, vl_s2))), | |
1651 | encode_mySeq_SeqSeqIntSeqInt2optoptSeqReal2_SeqSeqIntSeqInt2optoptSeqReal2(vl_expected)); | |
1652 | } | |
1653 | }//SequenceOf | |
1654 | ||
1655 | group Set { | |
1656 | template MySetInt2opt t_mseti2opt := { i:= 1, j := 2 } | |
1657 | template MySetInt2opt t_mseti2optomit := { i:= 1, j := omit } | |
1658 | const MySetInt2 c_mseti2 := { i:= 1, j := 2 } | |
1659 | const MySetInt2opt c_mseti2opt := { i:= 1, j := 2 } | |
1660 | const MySetInt2opt c_mseti2optomit := { i:= 1, j := omit } | |
1661 | ||
1662 | template MySetEmpty t_setEmpty :={} | |
1663 | template MySetBool t_msetb(template boolean p_b) := {b:= p_b} | |
1664 | template MySetNull t_msetn := { n:= NULL } | |
1665 | ||
1666 | template MySetInt t_mseti(template integer p_i) := {i:= p_i} | |
1667 | template MySetInt t_mseti_omit(template integer p_i) := {i:= p_i} with { erroneous (i) "value:= omit" } | |
1668 | //template MySetInt t_mseti_before(template integer p_i) := {i:= p_i} with { erroneous (i) "before:= omit all" } | |
1669 | //template MySetInt t_mseti_after(template integer p_i) := {i:= p_i} with { erroneous (i) "after:= omit all" } | |
1670 | template MySetInt t_mseti_valueSameTypeE(template integer p_i) := {i:= p_i} with { erroneous (i) "value:= integer:5" } | |
1671 | template MySetInt t_mseti_valueSameTypeI(template integer p_i) := {i:= p_i} with { erroneous (i) "value:= 5" } //implicit type | |
1672 | template MySetInt t_mseti_valueDiffTypeExplicitString(template integer p_i) := {i:= p_i} with { erroneous (i) "value:= MyCharstring:""subidubi""" } | |
1673 | //template MySetInt t_mseti_valueDiffTypeImplicitString(template integer p_i) := {i:= p_i} with { erroneous (i) "value:= ""subidubi""" } <=Impossible, there is no 1:1 mapping | |
1674 | ||
1675 | //Basic ASN.1 types (eq ttcn types): boolean, integer, octetstring, bitstring, null, objid, ext. objid, enum, embedded pdv, float (real), UTFSTR, seq, seq of | |
1676 | template MySetInt t_mseti_valueDiffTypeExplicitBoolean(template integer p_i) := {i:= p_i} with { erroneous (i) "value:= boolean:true" } | |
1677 | template MySetInt t_mseti_valueDiffTypeImplicitBoolean(template integer p_i) := {i:= p_i} with { erroneous (i) "value:= true" } | |
1678 | //integer: See t_mseti_valueSameTypeE/I | |
1679 | //template MySetInt t_mseti_valueDiffTypeExplicitNull(template integer p_i) := {i:= p_i} with { erroneous (i) "value:= NULL:NULL" } <<==Cannot be compiled !!! | |
1680 | //template MySetInt t_mseti_valueDiffTypeImplicitNull(template integer p_i) := {i:= p_i} with { erroneous (i) "value:= NULL" } <<==Cannot be compiled !!! | |
1681 | //NegTestTestcases.ttcn:74.3-86: error: Type `NULL' and type `@NegTestTypes.MySetInt' have no common encoding | |
1682 | template MySetInt t_mseti_valueDiffTypeExplicitOctStr(template integer p_i) := {i:= p_i} with { erroneous (i) "value:= octetstring:'BABA'O" } | |
1683 | template MySetInt t_mseti_valueDiffTypeImplicitOctStr(template integer p_i) := {i:= p_i} with { erroneous (i) "value:= 'BABA'O" } | |
1684 | template MySetInt t_mseti_valueDiffTypeExplicitEnum(template integer p_i) := {i:= p_i} with { erroneous (i) "value:= MyEnum:second" } | |
1685 | template MySetInt t_mseti_valueDiffTypeExplicitFloat(template integer p_i) := {i:= p_i} with { erroneous (i) "value:= float:5.0" } | |
1686 | template MySetInt t_mseti_valueDiffTypeImplicitFloat(template integer p_i) := {i:= p_i} with { erroneous (i) "value:= 5.0" } | |
1687 | template MySetInt t_mseti_valueDiffTypeExplicitBitString(template integer p_i) := {i:= p_i} with { erroneous (i) "value:= bitstring:'01011000'B" } | |
1688 | template MySetInt t_mseti_valueDiffTypeImplicitBitString(template integer p_i) := {i:= p_i} with { erroneous (i) "value:= '01011000'B" } | |
1689 | template MySetInt t_mseti_valueDiffTypeRaw(template integer p_i) := {i:= p_i} with { erroneous (i) "value(raw):= 'FF'O" } | |
1690 | ||
1691 | template MySetInt2opt t_mseti2(template integer p_i, template integer p_j) := {i:= p_i, j:=p_j} | |
1692 | template MySetInt2 t_mseti2_omiti(template integer p_i, template integer p_j) := {i:= p_i, j:=p_j} with { erroneous (i) "value:= omit" } | |
1693 | template MySetInt2 t_mseti2_omitj(template integer p_i, template integer p_j) := {i:= p_i, j:=p_j} with { erroneous (j) "value:= omit" } | |
1694 | //template MySetInt2 t_mseti2_beforeomiti(template integer p_i, template integer p_j) := {i:= p_i, j:=p_j} with { erroneous (i) "before:= omit all" } | |
1695 | template MySetInt2 t_mseti2_beforeomitj(template integer p_i, template integer p_j) := {i:= p_i, j:=p_j} with { erroneous (i) "value:= omit" } | |
1696 | template MySetInt2 t_mseti2_afteromiti(template integer p_i, template integer p_j) := {i:= p_i, j:=p_j} with { erroneous (j) "value:= omit" } | |
1697 | //template MySetInt2 t_mseti2_afteromitj(template integer p_i, template integer p_j) := {i:= p_i, j:=p_j} with { erroneous (j) "after:= omit all" } | |
1698 | template MySetInt2 t_mseti2_valueSameTypeE(template integer p_i, template integer p_j) := {i:= p_i, j:=p_j} with { erroneous (j) "value:= MySetInt2.j:5" } //tagged replacement | |
1699 | //template MySetInt2 t_mseti2_valueSameTypeI(template integer p_i, template integer p_j) := {i:= p_i, j:=p_j} with { erroneous (j) "value := 5" } | |
1700 | template MySetInt2 t_mseti2_valueDiffTypeExplicitFloat(template integer p_i, template integer p_j) := {i:= p_i, j:=p_j} with { erroneous (j) "value:= float:5.0" } | |
1701 | template MySetInt2 t_mseti2_valueDiffTypeImplicitFloat(template integer p_i, template integer p_j) := {i:= p_i, j:=p_j} with { erroneous (j) "value:= 5.0" } | |
1702 | template MySetInt2 t_mseti2_valueDiffTypeExplicitString(template integer p_i, template integer p_j):={i:=p_i, j:=p_j} with { erroneous (j) "value:= MyCharstring:""subidubi""" } | |
1703 | template MySetInt2 t_mseti2_valueDiffTypeExplicitBitString(template integer p_i, template integer p_j):={i:=p_i, j:=p_j} with { erroneous (j) "value:= bitstring:'01011000'B" } | |
1704 | template MySetInt2 t_mseti2_valueDiffTypeImplicitBitString(template integer p_i, template integer p_j):={i:=p_i, j:=p_j} with { erroneous (j) "value:= '01011000'B" } | |
1705 | //variable related values: | |
1706 | template MySetInt2 t_mseti2_valueSeqIntV(template integer p_i, template integer p_j):={i:=p_i, j:=p_j} with { erroneous (j) "value := MySeqInt2:{i:=1,j:=2}" } | |
1707 | template MySetInt2 t_mseti2_valueSeqIntOptV(template integer p_i, template integer p_j):={i:=p_i, j:=p_j} with { erroneous (j) "value := MySeqInt2opt:{i:=1,j:=2}" } | |
1708 | //TODO: Not supported yet: | |
1709 | //template MySetInt2 t_mseti2_valueSeqIntOptT(template integer p_i, template integer p_j):={i:=p_i, j:=p_j} with { erroneous (j) "value := valueof(MySetInt2opt:t_mseti2opt)" } | |
1710 | template MySetInt2 t_mseti2_valueSeqIntC(template integer p_i, template integer p_j):={i:=p_i, j:=p_j} with { erroneous (j) "value := MySeqInt2:c_msi2" } | |
1711 | template MySetInt2 t_mseti2_valueSeqIntOptC(template integer p_i, template integer p_j):={i:=p_i, j:=p_j} with { erroneous (j) "value := MySeqInt2opt:c_msi2opt" } | |
1712 | //TODO: Not supported yet: | |
1713 | //template MySetInt2 t_mseti2_valueSeqIntOptOmitT(template integer p_i, template integer p_j):={i:=p_i, j:=p_j} with { erroneous (j) "value:= valueof(t_mseti2optomit)" } | |
1714 | template MySetInt2 t_mseti2_valueSeqInt2OptOmitC(template integer p_i, template integer p_j):={i:=p_i, j:=p_j} with { erroneous (j) "value:= c_msi2optomit" } | |
1715 | template MySetInt2 t_mseti2_valueSeqInt2iiC(template integer p_i, template integer p_j):={i:=p_i, j:=p_j} with { erroneous (i) "value:=c_mseti2.i" } | |
1716 | //template MySetInt2 t_mseti2_valueSeqInt2ijC(template integer p_i, template integer p_j):={i:=p_i, j:=p_j} with { erroneous (i) "value:=c_mseti2.j" } | |
1717 | //template MySetInt2 t_mseti2_valueSeqInt2jiC(template integer p_i, template integer p_j):={i:=p_i, j:=p_j} with { erroneous (j) "value:=c_mseti2.i" } | |
1718 | template MySetInt2 t_mseti2_valueSeqInt2jjC(template integer p_i, template integer p_j):={i:=p_i, j:=p_j} with { erroneous (j) "value:=c_mseti2.j" } | |
1719 | ||
1720 | template MySetInt2 t_mseti2_valueSeqIntOptFieldC(template integer p_i, template integer p_j):={i:=p_i, j:=p_j} with { erroneous (j) "value:=c_msi2opt.j" } ;//2 | |
1721 | //TODO: Not supported yet: | |
1722 | //template MySetInt2 t_mseti2_valueSeqIntOptFieldOmitT(template integer p_i, template integer p_j):={i:=p_i, j:=p_j} with { erroneous (j) "value:= integer:t_mseti2optomit.j" } | |
1723 | ||
1724 | template MySetIntSeqInt2 t_msetisi2_trial(template integer p_i, template integer p_j, template integer p_k) := { i:=p_i, jk:={ i:= p_j,j:= p_k} } //not used yet | |
1725 | template MySetIntSeqInt2 t_msetisi2(template integer p_i, template integer p_j, template integer p_k) := { i:= p_i, jk:= { i:=p_j, j:=p_k} }; | |
1726 | template MySetIntSeqInt2 t_msetisi2_omiti(template integer p_i, template integer p_j, template integer p_k) := { i:= p_i, jk:= { i:=p_j, j:=p_k} } with { erroneous (i) "value:= omit" }; | |
1727 | template MySetIntSeqInt2 t_msetisi2_omitjki(template integer p_i, template integer p_j, template integer p_k) := { i:= p_i, jk:= { i:=p_j, j:=p_k} } with { erroneous (jk.i) "value:= omit" }; | |
1728 | template MySetIntSeqInt2 t_msetisi2_omitjkj(template integer p_i, template integer p_j, template integer p_k) := { i:= p_i, jk:= { i:=p_j, j:=p_k} } with { erroneous (jk.j) "value:= omit" }; | |
1729 | template MySetIntSeqInt2 t_msetisi2_rawjki(template integer p_i, template integer p_j, template integer p_k) := { i:= p_i, jk:= { i:=p_j, j:=p_k} } with { | |
1730 | erroneous (jk.i) "value(raw):= 'ABBA'O" }; | |
1731 | template MySetIntSeqInt2 t_msetisi2_rawjkj(template integer p_i, template integer p_j, template integer p_k) := { i:= p_i, jk:= { i:=p_j, j:=p_k} } with { | |
1732 | erroneous (jk.j) "value(raw):= 'ABBA'O" }; | |
1733 | template MySetIntSeqInt2 t_msetisi2_afteribeforej(template integer p_i, template integer p_j, template integer p_k) := { i:= p_i, jk:= { i:=p_j, j:=p_k} } with { | |
1734 | erroneous(i) "after:= 'ABBA'O"; | |
1735 | erroneous(jk.i) "before:='BABA'O" | |
1736 | }; | |
1737 | ||
1738 | // | |
1739 | template MySetInt3 t_mseti3(template integer p_i, template integer p_j, template integer p_k) := {i:= p_i, j:=p_j, k:=p_k} | |
1740 | ||
1741 | template MySetInt4 t_mseti4(template integer p_i, template integer p_j, template integer p_k,template integer p_l ) := {i:= p_i, j:=p_j, k:=p_k, l:=p_l} | |
1742 | template MySetInt4opt t_mseti4opt(template integer p_i, template integer p_j, template integer p_k,template integer p_l ) := {i:= p_i, j:=p_j, k:=p_k, l:=p_l} | |
1743 | template MySetInt4 t_mseti4_omiti(template integer p_i, template integer p_j, template integer p_k,template integer p_l ) := {i:= p_i, j:=p_j, k:=p_k, l:=p_l} with { erroneous (i) "value:= omit" } | |
1744 | template MySetInt4 t_mseti4_omitj(template integer p_i, template integer p_j, template integer p_k,template integer p_l ) := {i:= p_i, j:=p_j, k:=p_k, l:=p_l} with { erroneous (j) "value:= omit" } | |
1745 | template MySetInt4 t_mseti4_omitk(template integer p_i, template integer p_j, template integer p_k,template integer p_l ) := {i:= p_i, j:=p_j, k:=p_k, l:=p_l} with { erroneous (k) "value:= omit" } | |
1746 | template MySetInt4 t_mseti4_omitl(template integer p_i, template integer p_j, template integer p_k,template integer p_l ) := {i:= p_i, j:=p_j, k:=p_k, l:=p_l} | |
1747 | with { erroneous (l) "value:= omit" } | |
1748 | template MySetInt4 t_mseti4_valueiOctetStr(template integer p_i, template integer p_j, template integer p_k, template integer p_l) := {i:= p_i, j:=p_j, k:=p_k,l:=p_l} | |
1749 | with { erroneous(i) "value:= 'FEDCBA98'O" } | |
1750 | template MySetInt4 t_mseti4_valuejOctetStr(template integer p_i, template integer p_j, template integer p_k,template integer p_l) := {i:= p_i, j:=p_j, k:=p_k,l:=p_l} | |
1751 | with { erroneous(j) "value:= 'FEDCBA98'O" } | |
1752 | ||
1753 | template MySetInt4 t_mseti4_valueiRaw(template integer p_i, template integer p_j, template integer p_k,template integer p_l) := {i:= p_i, j:=p_j, k:=p_k,l:=p_l} | |
1754 | with { erroneous(i) "value(raw):= '0202ABBA'O" } | |
1755 | ||
1756 | template MySetInt4 t_mseti4_valuejRaw(template integer p_i, template integer p_j, template integer p_k,template integer p_l) := {i:= p_i, j:=p_j, k:=p_k,l:=p_l} | |
1757 | with { erroneous(j) "value(raw):= '0202ABBA'O" } | |
1758 | ||
1759 | template MySetInt4 t_mseti4_valuekRaw(template integer p_i, template integer p_j, template integer p_k,template integer p_l) := {i:= p_i, j:=p_j, k:=p_k,l:=p_l} | |
1760 | with { erroneous(k) "value(raw):= '0202ABBA'O" } | |
1761 | ||
1762 | template MySetInt4 t_mseti4_valuelRaw(template integer p_i, template integer p_j, template integer p_k,template integer p_l) := {i:= p_i, j:=p_j, k:=p_k,l:=p_l} | |
1763 | with { erroneous(l) "value(raw):= '0202ABBA'O" } | |
1764 | ||
1765 | template MySetOJKL t_msetojkl(template octetstring p_o, template integer p_j, template integer p_k,template integer p_l ) := {o:= p_o, j:=p_j, k:=p_k, l:=p_l} | |
1766 | template MySetIOKL t_msetiokl(template integer p_i, template octetstring p_o, template integer p_k,template integer p_l ) := {i:=p_i, o:=p_o, k:=p_k, l:=p_l} | |
1767 | ||
1768 | template MySetISKL t_msetiskl(template integer p_i, template MySeqInt4 p_s, template integer p_k,template integer p_l ) := {i:=p_i, s:=p_s, k:=p_k, l:=p_l} | |
1769 | template MySetISKLopt t_msetisklopt(template integer p_i, template MySeqInt4opt p_s, template integer p_k,template integer p_l ) := {i:=p_i, s:=p_s, k:=p_k, l:=p_l} | |
1770 | template MySetIS2KLopt t_msetis2klopt(template integer p_i, template MySeqInt2 p_s, template integer p_k,template integer p_l ) := {i:=p_i, s:=p_s, k:=p_k, l:=p_l} | |
1771 | template MySetISKL t_msetiskl_valueSomit(template integer p_i, template MySeqInt4 p_s, template integer p_k,template integer p_l ) := {i:=p_i, s:=p_s, k:=p_k, l:=p_l} with { | |
1772 | erroneous(s) "value:= omit" } | |
1773 | template MySetISKL t_msetiskl_valueSIomit(template integer p_i, template MySeqInt4 p_s, template integer p_k,template integer p_l ) := {i:=p_i, s:=p_s, k:=p_k, l:=p_l} with { | |
1774 | erroneous(s.i) "value:= omit" } | |
1775 | template MySetISKL t_msetiskl_valueSISJomit(template integer p_i, template MySeqInt4 p_s, template integer p_k,template integer p_l ) := {i:=p_i, s:=p_s, k:=p_k, l:=p_l} with { | |
1776 | erroneous(s.i) "value:= omit" | |
1777 | erroneous(s.j) "value:= omit"} | |
1778 | template MySetISKL t_msetiskl_valueSraw(template integer p_i, template MySeqInt4 p_s, template integer p_k,template integer p_l ) := {i:=p_i, s:=p_s, k:=p_k, l:=p_l} with { erroneous (s) "value(raw):= '0202ABBA'O" } | |
1779 | ||
1780 | template MySetISOKL t_msetisokl(template integer p_i, template MySeqInt4 p_s, template octetstring p_o, template integer p_k, template integer p_l ) := | |
1781 | {i:=p_i, s:=p_s, o:=p_o, k:=p_k, l:=p_l} | |
1782 | template MySetISOKLopt t_msetisoklopt(template integer p_i, template MySeqInt4opt p_s,template octetstring p_o, template integer p_k, template integer p_l ) := | |
1783 | {i:=p_i, s:=p_s, o:=p_o, k:=p_k, l:=p_l} | |
1784 | template MySetISOKL t_msetisokl_valueSomit(template integer p_i, template MySeqInt4 p_s, template octetstring p_o, template integer p_k,template integer p_l ) := | |
1785 | {i:=p_i, s:=p_s, o:=p_o, k:=p_k, l:=p_l} with { | |
1786 | erroneous(s) "value:= omit" } | |
1787 | template MySetIOSKLopt t_msetiosklopt(template integer p_i, template octetstring p_o,template MySeqInt4opt p_s, template integer p_k, template integer p_l ) := | |
1788 | {i:=p_i, o:=p_o, s:=p_s, k:=p_k, l:=p_l} | |
1789 | template MySetIOSKL t_msetioskl_valueSomit(template integer p_i, template octetstring p_o, template MySeqInt4 p_s, template integer p_k,template integer p_l ) := | |
1790 | {i:=p_i, o:=p_o, s:=p_s,k:=p_k, l:=p_l} with { | |
1791 | erroneous(s) "value:= omit" } | |
1792 | //===seq of seq of seq:== | |
1793 | ||
1794 | template MySetIntSeqIntSeqInt2SeqReal2 t_msetisisi2r2_omiti(template integer p_i,template MySeqIntSeqInt2 p_jkl, template MySeqReal2 p_xy) := | |
1795 | { i:=p_i, jkl:=p_jkl, xy:=p_xy} with { erroneous(i) "value:=omit"} | |
1796 | ||
1797 | template MySetIntSeqIntSeqInt2SeqReal2 t_msetisisi2r2_omitjkl(template integer p_i,template MySeqIntSeqInt2 p_jkl, template MySeqReal2 p_xy) := | |
1798 | { i:=p_i, jkl:=p_jkl, xy:=p_xy} with { erroneous(jkl) "value:=omit"} | |
1799 | ||
1800 | template MySetIntSeqIntSeqInt2SeqReal2 t_msetisisi2r2_omitxy(template integer p_i,template MySeqIntSeqInt2 p_jkl, template MySeqReal2 p_xy) := | |
1801 | { i:=p_i, jkl:=p_jkl, xy:=p_xy} with { erroneous(xy) "value:=omit"} | |
1802 | ||
1803 | template MySetIntSeqIntSeqInt2SeqReal2 t_msetisisi2r2_valuexy(template integer p_i,template MySeqIntSeqInt2 p_jkl, template MySeqReal2 p_xy) := | |
1804 | { i:=p_i, jkl:=p_jkl, xy:=p_xy} with { erroneous(xy) "value:=MySetReal2:{x:=15.0,y:=16.0}"} | |
1805 | ||
1806 | template MySetIntSeqIntSeqInt2SeqReal2 t_msetisisi2r2_valuex_y(template integer p_i,template MySeqIntSeqInt2 p_jkl, template MySeqReal2 p_xy) := | |
1807 | { i:=p_i, jkl:=p_jkl, xy:=p_xy} with { | |
1808 | erroneous(xy.x) "value:=float:15.0"; | |
1809 | erroneous(xy.y) "value:=float:16.0" | |
1810 | } | |
1811 | ||
1812 | template MySetIntSeqIntSeqInt2SeqReal2 t_msetisisi2r2_valuex_y_expr1(template integer p_i,template MySeqIntSeqInt2 p_jkl, template MySeqReal2 p_xy) := | |
1813 | { i:=p_i, jkl:=p_jkl, xy:=p_xy} with { | |
1814 | erroneous(xy.x) "value:=float:15.0*3.0"; | |
1815 | erroneous(xy.y) "value:=float:16.0*4.0" | |
1816 | } | |
1817 | template MySetIntSeqIntSeqInt2SeqReal2 t_msetisisi2r2_valuex_y_expr2(template integer p_i,template MySeqIntSeqInt2 p_jkl, template MySeqReal2 p_xy) := | |
1818 | { i:=p_i, jkl:=p_jkl, xy:=p_xy} with { | |
1819 | erroneous(xy.x) "value:=float:(1.0+10.0*(2.0+10.0*(3.0+10.0*(4.0+10.0*(5.0+10.0*6.0)))))"; //Horner | |
1820 | erroneous(xy.y) "value:=float:16.32/5.1" | |
1821 | } | |
1822 | template MySetIntSeqIntSeqInt2SeqReal2 t_msetisisi2r2_omitjkll(template integer p_i,template MySeqIntSeqInt2 p_jkl, template MySeqReal2 p_xy) := | |
1823 | { i:=p_i, jkl:=p_jkl, xy:=p_xy} with { erroneous(jkl.jk.j) "value:=omit"} | |
1824 | ||
1825 | //Set of depth 3: | |
1826 | ||
1827 | template MySet_SeqSeqIntSeqInt2SeqReal2_SeqSeqIntSeqInt2SeqReal2 t_msetssi2sr2ssi2sr2_omit(template MySeqSeqIntSeqInt2SeqReal2 p_s1,template MySeqSeqIntSeqInt2SeqReal2 p_s2) | |
1828 | :={ s1:=p_s1,s2:=p_s2} with { erroneous(s1.jkl.jk.j) "value:=omit" } | |
1829 | ||
1830 | //real (float) | |
1831 | template MySetReal t_msetr(template float p_x) := { x:=p_x } | |
1832 | template MySetReal2 t_msetr2(template float p_x, template float p_y):={x:=p_x, y:=p_y} | |
1833 | ||
1834 | //charstring->VisibleString | |
1835 | template MySetStr t_msetstr(template charstring p_s) := { s := p_s } | |
1836 | ||
1837 | //bitstring: | |
1838 | template MySetBitStr t_msetbitstr(template bitstring p_b) := { b := p_b }; | |
1839 | template MySetOctStr t_msetos(template octetstring p_o) := { o := p_o }; | |
1840 | template MySetIntReal t_msetir(template integer p_i, template float p_x ) := { i:=p_i, x:=p_x }; | |
1841 | ||
1842 | template MySetIntStr t_msetistr(template integer p_i, template MyCharstring p_s ) := { i:=p_i, s:=p_s }; | |
1843 | ||
1844 | template MySetIntBitStr t_msetibitstr(template integer p_i, template bitstring p_b ) := { i:=p_i, b:=p_b }; | |
1845 | ||
1846 | ||
1847 | //================================================ | |
1848 | //======== Testcases============================== | |
1849 | //================================================ | |
1850 | ||
1851 | //======== {integer}=================== | |
1852 | //omit | |
1853 | testcase tc_MySetIntOmit() runs on MyComp { | |
1854 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
1855 | log("i: ",i ); | |
1856 | f_compareAndVerdict( | |
1857 | encode_mySetInt(valueof(t_mseti_omit(i))), | |
1858 | encode_mySetEmpty(valueof(t_setEmpty)) ); | |
1859 | } | |
1860 | } | |
1861 | ||
1862 | testcase tc_MySetIntValueSameTypeE() runs on MyComp { | |
1863 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
1864 | log("i: ",i ); | |
1865 | f_compareAndVerdict( | |
1866 | encode_mySetInt(valueof(t_mseti_valueSameTypeE(i))), | |
1867 | encode_mySetInt(valueof(t_mseti(5))) ); | |
1868 | } | |
1869 | } | |
1870 | ||
1871 | testcase tc_MySetIntValueSameTypeI() runs on MyComp { | |
1872 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
1873 | log("i: ",i ); | |
1874 | f_compareAndVerdict( | |
1875 | encode_mySetInt(valueof(t_mseti_valueSameTypeI(i))), | |
1876 | encode_mySetInt(valueof(t_mseti(5))) ); | |
1877 | } | |
1878 | } | |
1879 | ||
1880 | //Basic ASN.1 types (eq ttcn types): boolean, integer, octetstring, bitstring, null, objid, ext. objid, enum, embedded pdv, float (real), UTFSTR, seq, seq of | |
1881 | testcase tc_MySetIntValueDiffTypeExplicitBool() runs on MyComp { | |
1882 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
1883 | log("i: ",i ); | |
1884 | f_compareAndVerdict( | |
1885 | encode_mySetInt(valueof(t_mseti_valueDiffTypeExplicitBoolean(i))), | |
1886 | encode_mySetBool(valueof(t_msetb(true))) ); | |
1887 | } | |
1888 | } | |
1889 | testcase tc_MySetIntValueDiffTypeImplicitBool() runs on MyComp { | |
1890 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
1891 | log("i: ",i ); | |
1892 | f_compareAndVerdict( | |
1893 | encode_mySetInt(valueof(t_mseti_valueDiffTypeImplicitBoolean(i))), | |
1894 | encode_mySetBool(valueof(t_msetb(true))) ); | |
1895 | } | |
1896 | } | |
1897 | ||
1898 | // testcase tc_MySetIntValueDiffTypeExplicitNull() runs on MyComp { | |
1899 | // for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
1900 | // log("i: ",i ); | |
1901 | // f_compareAndVerdict( | |
1902 | // encode_mySetInt(valueof(t_mseti_valueDiffTypeExplicitNull(i))), | |
1903 | // encode_mySetNull(valueof(t_msetn)) ); | |
1904 | // } | |
1905 | // } | |
1906 | // testcase tc_MySetIntValueDiffTypeImplicitNull() runs on MyComp { | |
1907 | // for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
1908 | // log("i: ",i ); | |
1909 | // f_compareAndVerdict( | |
1910 | // encode_mySetInt(valueof(t_mseti_valueDiffTypeImplicitNull(i))), | |
1911 | // encode_mySetNull(valueof(t_msetn))) ; | |
1912 | // } | |
1913 | // } | |
1914 | ||
1915 | testcase tc_MySetIntValueDiffTypeExplicitOctStr() runs on MyComp { | |
1916 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
1917 | log("i: ",i ); | |
1918 | f_compareAndVerdict( | |
1919 | encode_mySetInt(valueof(t_mseti_valueDiffTypeExplicitOctStr(i))), | |
1920 | encode_mySetOctStr(valueof(t_msetos('BABA'O)))) ; | |
1921 | } | |
1922 | } | |
1923 | testcase tc_MySetIntValueDiffTypeImplicitOctStr() runs on MyComp { | |
1924 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
1925 | log("i: ",i ); | |
1926 | f_compareAndVerdict( | |
1927 | encode_mySetInt(valueof(t_mseti_valueDiffTypeImplicitOctStr(i))), | |
1928 | encode_mySetOctStr(valueof(t_msetos('BABA'O)))) ; | |
1929 | } | |
1930 | } | |
1931 | ||
1932 | testcase tc_MySetIntValueDiffTypeExplicitEnum() runs on MyComp { | |
1933 | var MySetMyEnum vl_msme; | |
1934 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
1935 | log("i: ",i ); | |
1936 | vl_msme.e:=second; | |
1937 | f_compareAndVerdict( | |
1938 | encode_mySetInt(valueof(t_mseti_valueDiffTypeExplicitEnum(i))), | |
1939 | encode_mySetMyEnum(vl_msme) ); | |
1940 | } | |
1941 | } | |
1942 | testcase tc_MySetIntValueDiffTypeExplicitFloat() runs on MyComp { | |
1943 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
1944 | log("i: ",i ); | |
1945 | f_compareAndVerdict( | |
1946 | encode_mySetInt(valueof(t_mseti_valueDiffTypeExplicitFloat(i))), | |
1947 | encode_mySetReal(valueof(t_msetr(5.0))) ); | |
1948 | } | |
1949 | } | |
1950 | ||
1951 | testcase tc_MySetIntValueDiffTypeImplicitFloat() runs on MyComp { | |
1952 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
1953 | log("i: ",i ); | |
1954 | f_compareAndVerdict( | |
1955 | encode_mySetInt(valueof(t_mseti_valueDiffTypeImplicitFloat(i))), | |
1956 | encode_mySetReal(valueof(t_msetr(5.0)))); | |
1957 | } | |
1958 | } | |
1959 | ||
1960 | testcase tc_MySetIntValueDiffTypeExplicitStr() runs on MyComp { | |
1961 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
1962 | log("i: ",i ); | |
1963 | f_compareAndVerdict( | |
1964 | encode_mySetInt(valueof( t_mseti_valueDiffTypeExplicitString(i))), | |
1965 | encode_mySetStr(valueof(t_msetstr("subidubi"))) ); | |
1966 | } | |
1967 | } | |
1968 | ||
1969 | //ImplicitString: there is no 1:1 mapping between charstring and XYString in ASN.1 | |
1970 | //Basic ASN.1 types (eq ttcn types): boolean, integer, octetstring, bitstring, null, objid, ext. objid, enum, embedded pdv, float (real), UTFSTR, seq, seq of | |
1971 | ||
1972 | ||
1973 | testcase tc_MySetIntValueDiffTypeExplicitBitStr() runs on MyComp { | |
1974 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
1975 | log("i: ",i ); | |
1976 | f_compareAndVerdict( | |
1977 | encode_mySetInt(valueof( t_mseti_valueDiffTypeExplicitBitString(i))), | |
1978 | encode_mySetBitStr(valueof(t_msetbitstr('01011000'B))) ); | |
1979 | } | |
1980 | } | |
1981 | ||
1982 | testcase tc_MySetIntValueDiffTypeImplicitBitStr() runs on MyComp { | |
1983 | log("encoded msbstr :",encode_mySetBitStr(valueof(t_msetbitstr('01011000'B))) ); | |
1984 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
1985 | log("i: ",i ); | |
1986 | f_compareAndVerdict( | |
1987 | encode_mySetInt(valueof(t_mseti_valueDiffTypeImplicitBitString(i))), | |
1988 | encode_mySetBitStr(valueof(t_msetbitstr('01011000'B))) ) | |
1989 | } | |
1990 | } | |
1991 | ||
1992 | //RAW | |
1993 | testcase tc_MySetIntValueDiffTypeRawOctStr() runs on MyComp { | |
1994 | var octetstring vl_expectedValue:= '3101FF'O; //30:SEQ, 01:L,FF:Value | |
1995 | log("Expected value: ", vl_expectedValue ); | |
1996 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
1997 | log("i: ",i ); | |
1998 | f_compareAndVerdict( encode_mySetInt(valueof(t_mseti_valueDiffTypeRaw(i))), vl_expectedValue) | |
1999 | } | |
2000 | } | |
2001 | // ============{integer, integer }============== | |
2002 | //omit | |
2003 | testcase tc_MySetInt2Omiti() runs on MyComp { | |
2004 | var integer j:= 255; | |
2005 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
2006 | log("i: ",i ); | |
2007 | f_compareAndVerdict( | |
2008 | encode_mySetInt2(valueof(t_mseti2_omiti(i,j))), //encoded | |
2009 | encode_mySetInt2opt(valueof(t_mseti2(omit,j))) ); //expected | |
2010 | } | |
2011 | ||
2012 | } | |
2013 | ||
2014 | testcase tc_MySetInt2Omitj() runs on MyComp { | |
2015 | var integer j:= 255; | |
2016 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
2017 | log("i: ",i ); | |
2018 | f_compareAndVerdict( | |
2019 | encode_mySetInt2(valueof(t_mseti2_omitj(i,j))),//encoded | |
2020 | encode_mySetInt2opt(valueof(t_mseti2(i, omit))) ); //expected | |
2021 | } | |
2022 | } | |
2023 | ||
2024 | ||
2025 | //before omit j | |
2026 | testcase tc_MySetInt2BeforeOmitj() runs on MyComp { | |
2027 | var integer j:= 255; | |
2028 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
2029 | log("i: ",i ); | |
2030 | f_compareAndVerdict( | |
2031 | encode_mySetInt2(valueof(t_mseti2_beforeomitj(i,j))),//encoded | |
2032 | encode_mySetInt2opt(valueof(t_mseti2(omit,j))) ); //expected | |
2033 | } | |
2034 | } | |
2035 | ||
2036 | //after omit i | |
2037 | testcase tc_MySetInt2AfterOmiti() runs on MyComp { | |
2038 | var integer j:= 255; | |
2039 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
2040 | log("i: ",i ); | |
2041 | f_compareAndVerdict( | |
2042 | encode_mySetInt2(valueof(t_mseti2_afteromiti(i,j))),//encoded | |
2043 | encode_mySetInt2opt(valueof(t_mseti2(i, omit))));//expected | |
2044 | } | |
2045 | // i: 1 | |
2046 | // encoded value: '3105A003020101'O | |
2047 | // expected value: '3105A003020101'O | |
2048 | // setverdict(pass): none -> pass | |
2049 | // i: -10 | |
2050 | // encoded value: '3105A0030201F6'O | |
2051 | // expected value: '3105A0030201F6'O | |
2052 | // setverdict(pass): pass -> pass, component reason not changed | |
2053 | // i: 100 | |
2054 | // encoded value: '3105A003020164'O | |
2055 | // expected value: '3105A003020164'O | |
2056 | // setverdict(pass): pass -> pass, component reason not changed | |
2057 | // i: -1000 | |
2058 | // encoded value: '3106A0040202FC18'O | |
2059 | // expected value: '3106A0040202FC18'O | |
2060 | // setverdict(pass): pass -> pass, component reason not changed | |
2061 | // i: 10000 | |
2062 | // encoded value: '3106A00402022710'O | |
2063 | // expected value: '3106A00402022710'O | |
2064 | // setverdict(pass): pass -> pass, component reason not changed | |
2065 | // i: -100000 | |
2066 | // encoded value: '3107A0050203FE7960'O | |
2067 | // expected value: '3107A0050203FE7960'O | |
2068 | // setverdict(pass): pass -> pass, component reason not changed | |
2069 | } | |
2070 | ||
2071 | testcase tc_MySetInt2ValueSameTypeE() runs on MyComp { | |
2072 | var integer j:= 255; | |
2073 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
2074 | log("i: ",i ); | |
2075 | f_compareAndVerdict( | |
2076 | encode_mySetInt2(valueof(t_mseti2_valueSameTypeE(i,j))),//encoded | |
2077 | encode_mySetInt2opt(valueof(t_mseti2(i,5))) ); //expected | |
2078 | } | |
2079 | } | |
2080 | ||
2081 | // testcase tc_MySetInt2ValueSameTypeI() runs on MyComp { | |
2082 | // var integer j:= 255; | |
2083 | // for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
2084 | // log("i: ",i ); | |
2085 | // f_compareAndVerdict( | |
2086 | // encode_mySetInt2(valueof(t_mseti2_valueSameTypeI(i,j))),//encoded | |
2087 | // encode_mySetInt2opt(valueof(t_mseti2(i,5)))); //expected | |
2088 | // } | |
2089 | // } | |
2090 | ||
2091 | testcase tc_MySetInt2ValueDiffTypeExplicitFloat() runs on MyComp { | |
2092 | var integer j:= 255; | |
2093 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
2094 | log("i: ",i ); | |
2095 | f_compareAndVerdict( | |
2096 | encode_mySetInt2(valueof(t_mseti2_valueDiffTypeExplicitFloat(i,j))),//encoded | |
2097 | encode_mySetIntReal(valueof(t_msetir(i,5.0)))); //expected | |
2098 | } | |
2099 | } | |
2100 | ||
2101 | testcase tc_MySetInt2ValueDiffTypeImplicitFloat() runs on MyComp { | |
2102 | var integer j:= 255; | |
2103 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
2104 | log("i: ",i ); | |
2105 | f_compareAndVerdict( | |
2106 | encode_mySetInt2(valueof(t_mseti2_valueDiffTypeImplicitFloat(i,j))),//encoded | |
2107 | encode_mySetIntReal(valueof(t_msetir(i,5.0)))); //expected | |
2108 | } | |
2109 | } | |
2110 | ||
2111 | testcase tc_MySetInt2ValueDiffTypeExplicitStr() runs on MyComp { | |
2112 | var integer j:= 255; | |
2113 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
2114 | log("i: ",i ); | |
2115 | f_compareAndVerdict( | |
2116 | encode_mySetInt2(valueof( t_mseti2_valueDiffTypeExplicitString(i, j))),//encoded | |
2117 | encode_mySetIntStr(valueof(t_msetistr(i, "subidubi"))) ); //expected | |
2118 | } | |
2119 | } | |
2120 | ||
2121 | testcase tc_MySetInt2ValueDiffTypeExplicitBitStr() runs on MyComp { | |
2122 | var integer j:= 255; | |
2123 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
2124 | log("i: ",i ); | |
2125 | f_compareAndVerdict( | |
2126 | encode_mySetInt2(valueof( t_mseti2_valueDiffTypeExplicitBitString(i, j))), //encoded | |
2127 | encode_mySetIntBitStr(valueof(t_msetibitstr(i,'01011000'B))) ); //expected | |
2128 | } | |
2129 | } | |
2130 | ||
2131 | testcase tc_MySetInt2ValueDiffTypeImplicitBitStr() runs on MyComp { | |
2132 | var integer j:= 255; | |
2133 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
2134 | log("i: ",i ); | |
2135 | f_compareAndVerdict( | |
2136 | encode_mySetInt2(valueof( t_mseti2_valueDiffTypeImplicitBitString(i,j))), //encoded | |
2137 | encode_mySetIntBitStr(valueof(t_msetibitstr(i,'01011000'B))) )//expected | |
2138 | } | |
2139 | } | |
2140 | ||
2141 | testcase tc_MySetInt2ValueSeqIntV() runs on MyComp { | |
2142 | var integer i:= 10, j:= 15; | |
2143 | //var MySetIntSeqInt2T vl_expectedT:={i:=10,jk:={1,2}}; | |
2144 | var octetstring vl_encoded := encode_mySetInt2(valueof(t_mseti2_valueSeqIntV(i,j))) | |
2145 | var octetstring vl_expected:= encode_mySetIntSeqInt2T({i:=10,jk:={1,2}}) | |
2146 | f_compareAndVerdict(vl_encoded,vl_expected); | |
2147 | //Encoded value: '310D3006020101020102A00302010A'O | |
2148 | //T:31 (SET) L:0D (13) V:3006020101020102A00302010A'O | |
2149 | //T:30 (SEQ) L:06 V:020101020102 A00302010A'O : '020101'O~ int:1, '020102'~int:2, 'A00302010A'O~ [0],L:03,'02010A'O~int:10 | |
2150 | // {{1,2}, [0] 10} | |
2151 | } | |
2152 | ||
2153 | testcase tc_MySetInt2ValueSeqIntOptV() runs on MyComp { | |
2154 | var integer i:= 10, j:= 15; | |
2155 | var octetstring vl_encoded := encode_mySetInt2(valueof(t_mseti2_valueSeqIntOptV(i,j))) | |
2156 | var octetstring vl_expected:= encode_mySetIntSeqInt2T({i:=10,jk:={1,2}}) | |
2157 | f_compareAndVerdict(vl_encoded,vl_expected); | |
2158 | } | |
2159 | ||
2160 | testcase tc_MySetInt2ValueSeqIntC() runs on MyComp { | |
2161 | var integer i:= 10, j:= 15; | |
2162 | var octetstring vl_encoded := encode_mySetInt2(valueof(t_mseti2_valueSeqIntC(i,j))) | |
2163 | var octetstring vl_expected:= encode_mySetIntSeqInt2T({i:=10,jk:={1,2}}) | |
2164 | f_compareAndVerdict(vl_encoded,vl_expected); | |
2165 | } | |
2166 | ||
2167 | testcase tc_MySetInt2ValueSeqInt2OptC() runs on MyComp { | |
2168 | var integer i:= 10, j:= 15; | |
2169 | var octetstring vl_encoded := encode_mySetInt2(valueof(t_mseti2_valueSeqIntOptC(i,j))); | |
2170 | var octetstring vl_expected:= encode_mySetIntSeqInt2T({i:=10,jk:={1,2}}); | |
2171 | f_compareAndVerdict(vl_encoded,vl_expected); | |
2172 | } | |
2173 | ||
2174 | testcase tc_MySetInt2ValueSeqInt2OptOmitC() runs on MyComp { | |
2175 | var integer i:= 10, j:= 15; | |
2176 | var octetstring vl_encoded := encode_mySetInt2(valueof(t_mseti2_valueSeqInt2OptOmitC(i,j))); | |
2177 | var octetstring vl_expected:= encode_mySetIntSeqInt2Toptopt({i:=10,jk:={1,omit}}) | |
2178 | f_compareAndVerdict(vl_encoded,vl_expected); | |
2179 | } | |
2180 | testcase tc_MySetInt2ValueSeqInt2iiC() runs on MyComp { | |
2181 | var integer i:= 10, j:= 15; | |
2182 | var octetstring vl_encoded := encode_mySetInt2(valueof(t_mseti2_valueSeqInt2iiC(i,j))); | |
2183 | var octetstring vl_expected:= encode_mySetInt2({i:=1,j:=15}) | |
2184 | f_compareAndVerdict(vl_encoded,vl_expected); | |
2185 | } | |
2186 | ||
2187 | //not possible - two field with the same tag: | |
2188 | // testcase tc_MySetInt2ValueSeqInt2ijC() runs on MyComp { | |
2189 | // var integer i:= 10, j:= 15; | |
2190 | // var octetstring vl_encoded := encode_mySetInt2(valueof(t_mseti2_valueSeqInt2ijC(i,j))); | |
2191 | // var octetstring vl_expected:= encode_mySetInt2({i:=2,j:=15}) | |
2192 | // f_compareAndVerdict(vl_encoded,vl_expected); | |
2193 | // } | |
2194 | // testcase tc_MySetInt2ValueSeqInt2jiC() runs on MyComp { | |
2195 | // var integer i:= 10, j:= 15; | |
2196 | // var octetstring vl_encoded := encode_mySetInt2(valueof(t_mseti2_valueSeqInt2jiC(i,j))); | |
2197 | // var octetstring vl_expected:= encode_mySetInt2({i:=10,j:=1}) | |
2198 | // f_compareAndVerdict(vl_encoded,vl_expected); | |
2199 | // } | |
2200 | ||
2201 | testcase tc_MySetInt2ValueSeqInt2jjC() runs on MyComp { | |
2202 | var integer i:= 10, j:= 15; | |
2203 | var octetstring vl_encoded := encode_mySetInt2(valueof(t_mseti2_valueSeqInt2jjC(i,j))); | |
2204 | var octetstring vl_expected:= encode_mySetInt2({i:=10,j:=2}) | |
2205 | f_compareAndVerdict(vl_encoded,vl_expected); | |
2206 | } | |
2207 | //=== Set { integer, {integer, integer} ) | |
2208 | testcase tc_MySetIntSeqInt2ValueOmiti() runs on MyComp { | |
2209 | var integer i:= 10, j:= 15, k:=16; | |
2210 | var octetstring vl_encoded :=encode_mySetIntSeqInt2(valueof(t_msetisi2_omiti(i,j,k))) | |
2211 | var octetstring vl_expected:=encode_mySetIntSeqInt2opt({i:=omit,jk:={15,16}}) | |
2212 | f_compareAndVerdict(vl_encoded,vl_expected); | |
2213 | } | |
2214 | ||
2215 | testcase tc_MySetIntSeqInt2ValueOmitjki() runs on MyComp { | |
2216 | var integer i:= 10, j:= 15, k:=16; | |
2217 | f_compareAndVerdict( | |
2218 | encode_mySetIntSeqInt2(valueof(t_msetisi2_omitjki(i,j,k))), | |
2219 | encode_mySetIntSeqInt2optopt({i:=10,jk:={16,omit}}) ); | |
2220 | //'300802010A3003020110'O : T:30 (SEQ) L:08 V:'02010A3003020110'O | |
2221 | //02010A (i=10) | |
2222 | //3003020110 T:30, L:03, V:020110 (=int:16) | |
2223 | } | |
2224 | ||
2225 | testcase tc_MySetIntSeqInt2ValueOmitjkj() runs on MyComp { | |
2226 | var integer i:= 10, j:= 15, k:=16; | |
2227 | ||
2228 | log( "encoded value: ", encode_mySetIntSeqInt2(valueof(t_msetisi2_omitjkj(i,j,k)))); | |
2229 | //'300802010A3003020110'O : T:30 (SEQ) L:08 V:'02010A3003020110'O | |
2230 | //02010A (i=10) | |
2231 | //3003020110 T:30, L:03, V:020110 (=int:16) | |
2232 | f_compareAndVerdict( | |
2233 | encode_mySetIntSeqInt2(valueof(t_msetisi2_omitjkj(i,j,k))), | |
2234 | encode_mySetIntSeqInt2optopt({i:=10,jk:={15,omit}}) ); | |
2235 | } | |
2236 | ||
2237 | testcase tc_MySetIntSeqInt2ValueRawjki() runs on MyComp { | |
2238 | var integer i:= 10, j:= 15, k:=16; | |
2239 | f_compareAndVerdict( encode_mySetIntSeqInt2(valueof(t_msetisi2_rawjki(i,j,k))), '310A02010A3005ABBA020110'O ); | |
2240 | } | |
2241 | ||
2242 | testcase tc_MySetIntSeqInt2ValueRawjkj() runs on MyComp { | |
2243 | var integer i:= 10, j:= 15, k:=16; | |
2244 | //'300A02010A300502010FABBA'O | |
2245 | // 300A02010A300502010FABBA'O: T:30 (SEQ) L:0A (10) V:'02010A300502010FABBA'O | |
2246 | //02010A (i=10) | |
2247 | // '300502010FABBA'O T:30, L:05, V:02010FABBA'O: '2010F'O (int 15) & 'ABBA'O | |
2248 | f_compareAndVerdict( encode_mySetIntSeqInt2(valueof(t_msetisi2_rawjkj(i,j,k))), '310A02010A300502010FABBA'O ) | |
2249 | } | |
2250 | ||
2251 | //After-before: | |
2252 | testcase tc_MySetIntSeqInt2AfteriBeforej() runs on MyComp { | |
2253 | var integer i:= 10, j:= 15, k:=16; | |
2254 | f_compareAndVerdict( encode_mySetIntSeqInt2(valueof(t_msetisi2_afteribeforej(i,j,k))), '311302010A0402ABBA300A0402BABA02010F020110'O) | |
2255 | //'301302010A0402ABBA300A0402BABA02010F020110'O T:30 (SEQ) L:13 (19dec) V:'02010A0402ABBA300A0402BABA02010F020110'O | |
2256 | //02010A0 (i:10) | |
2257 | //0402ABBA T:04 (octetstring>1) L:02 V:'ABBA'O (after i should be 'ABBA'O ->ok | |
2258 | //'300A0402BABA02010F020110'O T:30 (SEQ) L:'0A'O (10dec) V: '0402BABA02010F020110'O | |
2259 | //0402BABA: T:04 (octetstr) L:02 V:'BABA'O ->ok | |
2260 | //02010F : (j:15) ->ok | |
2261 | //020110: (k:16) ->ok | |
2262 | } | |
2263 | ||
2264 | //==== {integer, integer, integer, integer} ============== | |
2265 | //omit | |
2266 | testcase tc_MySetInt4Omiti() runs on MyComp { | |
2267 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
2268 | log("i: ",i); | |
2269 | f_compareAndVerdict( | |
2270 | encode_mySetInt4(valueof(t_mseti4_omiti(i,2*i,3*i,4*i))), | |
2271 | encode_mySetInt4opt(valueof(t_mseti4opt(omit,2*i,3*i,4*i))) ) | |
2272 | } | |
2273 | } | |
2274 | ||
2275 | testcase tc_MySetInt4Omitj() runs on MyComp { | |
2276 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
2277 | log("i: ",i); | |
2278 | f_compareAndVerdict( encode_mySetInt4(valueof(t_mseti4_omitj(i,2*i,3*i,4*i))),encode_mySetInt4opt(valueof(t_mseti4opt(i,omit,3*i,4*i))) ); | |
2279 | } | |
2280 | } | |
2281 | ||
2282 | testcase tc_MySetInt4Omitk() runs on MyComp { | |
2283 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
2284 | log("i: ",i); | |
2285 | f_compareAndVerdict( encode_mySetInt4(valueof(t_mseti4_omitk(i,2*i,3*i,4*i))),encode_mySetInt4opt(valueof(t_mseti4opt(i,2*i,omit,4*i))) ) | |
2286 | } | |
2287 | } | |
2288 | ||
2289 | testcase tc_MySetInt4Omitl() runs on MyComp { | |
2290 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
2291 | log("i: ",i); | |
2292 | f_compareAndVerdict( encode_mySetInt4(valueof(t_mseti4_omitl(i,2*i,3*i,4*i))), encode_mySetInt4opt(valueof(t_mseti4opt(i,2*i,3*i,omit))) ) | |
2293 | } | |
2294 | } | |
2295 | ||
2296 | testcase tc_MySetInt4ValueiOctetStr() runs on MyComp { | |
2297 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
2298 | log("i: ",i); | |
2299 | f_compareAndVerdict( | |
2300 | encode_mySetInt4(valueof(t_mseti4_valueiOctetStr(i,2*i,3*i,4*i))), | |
2301 | encode_mySetOJKL(valueof(t_msetojkl('FEDCBA98'O,2*i,3*i, 4*i))) ) | |
2302 | } | |
2303 | } | |
2304 | ||
2305 | testcase tc_MySetInt4ValuejOctetStr() runs on MyComp { | |
2306 | for(var integer i:=1; i<tsp_maxInt;i:=i*tsp_step) { | |
2307 | log("i: ",i); | |
2308 | f_compareAndVerdict( | |
2309 | encode_mySetInt4(valueof(t_mseti4_valuejOctetStr(i,2*i,3*i,4*i))), | |
2310 | encode_mySetIOKL(valueof(t_msetiokl(i,'FEDCBA98'O,3*i, 4*i))) ) | |
2311 | } | |
2312 | } | |
2313 | ||
2314 | //type record of octetstring RoO; | |
2315 | //type record of integer RoI; | |
2316 | testcase tc_MySetInt4ValueiRaw() runs on MyComp { | |
2317 | var RoO vl_expectedValue:= { | |
2318 | '31130202ABBAA103020102A203020103A303020104'O, | |
2319 | '31130202ABBAA103020114A20302011EA303020128'O, //'31 13 02 02 ABBA A1 03 020114 A20302011EA 303020128'O, | |
2320 | '31160202ABBAA104020200C8A2040202012CA30402020190'O, | |
2321 | '31160202ABBAA104020207D0A20402020BB8A30402020FA0'O, | |
2322 | '31130202ABBAA1030201ECA2030201E2A3030201D8'O | |
2323 | } | |
2324 | ||
2325 | var RoI vl_roi := { 1, 10, 100, 1000,-10}; | |
2326 | ||
2327 | var integer i:=0; | |
2328 | for(var integer index:=0; index<5;index:=index+1) { | |
2329 | i:=vl_roi[index]; | |
2330 | log("i: ",i); | |
2331 | f_compareAndVerdict( encode_mySetInt4(valueof(t_mseti4_valueiRaw(i,2*i,3*i,4*i))),vl_expectedValue[index] ) | |
2332 | } | |
2333 | } | |
2334 | ||
2335 | testcase tc_MySetInt4ValuejRaw() runs on MyComp { | |
2336 | var octetstring vl_expectedValue:='31130202ABBAA003020101A203020103A303020104'O | |
2337 | //'T:31 (SET), L:13 (19), V:'0202ABBA A003020101 A203020103 A303020104'O , where | |
2338 | //'0202ABBA' T:02 (int),L:02,V:'ABBA' | |
2339 | //'A003020101' : T:[0] L:03 T:02,L:01,V:1 (i:=1) | |
2340 | //'A203020103' : T:[2] L:03 T:02 L:01 V:3 (k:=3) | |
2341 | //'A303020104' : T:[3] L:03 T:02,L:01,V:2 (l:=4) | |
2342 | var integer i:=1; | |
2343 | f_compareAndVerdict( encode_mySetInt4(valueof(t_mseti4_valuejRaw(i,2*i,3*i,4*i))),vl_expectedValue ) ; | |
2344 | } | |
2345 | ||
2346 | testcase tc_MySetInt4ValuekRaw() runs on MyComp { | |
2347 | var octetstring vl_expectedValue:= '31130202ABBAA003020101A103020102A303020104'O | |
2348 | //'31 13 0202ABBA A003020101 A103020102 A303020104'O | |
2349 | var integer i:=1; | |
2350 | f_compareAndVerdict( encode_mySetInt4(valueof(t_mseti4_valuekRaw(i,2*i,3*i,4*i))),vl_expectedValue ) | |
2351 | } | |
2352 | ||
2353 | testcase tc_MySetInt4ValuelRaw() runs on MyComp { | |
2354 | var octetstring vl_expectedValue:= '31130202ABBAA003020101A103020102A203020103'O | |
2355 | //'31 13 0202ABBA A003020101 A103020102 A203020103'O | |
2356 | var integer i:=1 | |
2357 | f_compareAndVerdict( encode_mySetInt4(valueof(t_mseti4_valuelRaw(i,2*i,3*i,4*i))),vl_expectedValue ) ; | |
2358 | } | |
2359 | ||
2360 | //To test if a mandatory structure omitted | |
2361 | testcase tc_MySetISKL_ValueSomit() runs on MyComp { | |
2362 | var MySeqInt4 vl_msi4:={5,6,7,8}; | |
2363 | // var octetstring vl_expectedValue:= '310FA00302010AA20302011EA303020128'O; | |
2364 | //New: | |
2365 | //Encoded value: '3118300C020105020106020107020108A20302011EA303020128'O | |
2366 | //Expected value: '310FA00302010AA20302011EA303020128'O | |
2367 | f_compareAndVerdict( | |
2368 | encode_mySetISKL(valueof(t_msetiskl_valueSomit(10,vl_msi4,30,40))), | |
2369 | encode_mySetISKLopt(valueof(t_msetisklopt(10,omit,30,40))) ); | |
2370 | } | |
2371 | ||
2372 | //DTE: | |
2373 | testcase tc_MySetISKL_ValueSIomit() runs on MyComp { | |
2374 | var MySeqInt4 vl_msi4:={5,6,7,8}; | |
2375 | // var octetstring vl_encodedValue:=encode_mySetISKL(valueof(t_msetiskl_valueSIomit(10,vl_msi4,30,40))); | |
2376 | // expected: | |
2377 | //'311A3009020106020107020108A00302010AA20302011EA303020128'O | |
2378 | //'311A 30 09 020106 020107 020108 A00302010A A20302011E A303020128'O ~{ {6,7,8}, [0]10, [2]30,[3]40} | |
2379 | f_compareAndVerdict( | |
2380 | encode_mySetISKL(valueof(t_msetiskl_valueSIomit(10,vl_msi4,30,40))), | |
2381 | encode_mySetISKLopt(valueof(t_msetisklopt(10,{6,7,8,omit},30,40)))); | |
2382 | ||
2383 | } | |
2384 | ||
2385 | testcase tc_MySetISKL_ValueSISJomit() runs on MyComp { | |
2386 | var MySeqInt4 vl_msi4:={5,6,7,8}; | |
2387 | //var octetstring vl_expectedValue:='311A3009020105020107020108A00302010AA20302011EA303020128'O | |
2388 | //'31 1A 30 09 020105 020107 020108 A00302010A A20302011E A303020128'O | |
2389 | f_compareAndVerdict( encode_mySetISKL(valueof(t_msetiskl_valueSISJomit(10,vl_msi4,30,40))), | |
2390 | encode_mySetIS2KLopt(valueof(t_msetis2klopt(10,{7,8},30,40)))); | |
2391 | } | |
2392 | ||
2393 | testcase tc_MySetISKL_ValueSraw() runs on MyComp { | |
2394 | var MySeqInt4 vl_msi4:={5,6,7,8}; | |
2395 | var octetstring vl_expectedValue:= '31130202ABBAA00302010AA20302011EA303020128'O | |
2396 | //encoded:'311C0202ABBA300C020105020106020107020108A20302011EA303020128'O ,,Wrong, i is substituted by 0202ABBA. s should be subst! | |
2397 | //'31 13 0202ABBA A00302010A A20302011E A303020128'O | |
2398 | // 4 5 5 5 = 19dec | |
2399 | f_compareAndVerdict( encode_mySetISKL(valueof(t_msetiskl_valueSraw(10,vl_msi4,30,40))),vl_expectedValue ) | |
2400 | } | |
2401 | ||
2402 | //passed | |
2403 | testcase tc_MySetISOKL_ValueSomit() runs on MyComp { | |
2404 | var MySeqInt4 vl_msi4:={5,6,7,8}; | |
2405 | f_compareAndVerdict( | |
2406 | encode_mySetISOKL(valueof(t_msetisokl_valueSomit(10,vl_msi4,'BABA'O,30,40))), | |
2407 | encode_mySetISOKLopt(valueof(t_msetisoklopt(10,omit,'BABA'O,30,40))) ); | |
2408 | } | |
2409 | ||
2410 | //failed | |
2411 | testcase tc_MySetIOSKL_ValueSomit() runs on MyComp { | |
2412 | var MySeqInt4 vl_msi4:={5,6,7,8}; | |
2413 | f_compareAndVerdict( | |
2414 | encode_mySetIOSKL(valueof(t_msetioskl_valueSomit(10,'BABA'O,vl_msi4,30,40))), | |
2415 | encode_mySetIOSKLopt(valueof(t_msetiosklopt(10,'BABA'O,omit,30,40))) ); | |
2416 | //Encoded value: '311C0402BABA300C020105020106020107020108A20302011EA303020128'O ~ {'BABA'O,{5,6,7,8},[2]30,[3]40} | |
2417 | //Expected value: '31130402BABAA00302010AA20302011EA303020128'O ~ {'BABA'O,[0] 10,[2]30, [3]40} | |
2418 | //Fault: i was omitted instead of s:={5,6,7,8} | |
2419 | } | |
2420 | ||
2421 | //===== sequence of sequence of sequence ==== | |
2422 | testcase tc_MySetIntSeqIntSeqInt2SeqReal2_omiti() runs on MyComp { | |
2423 | var MySetSeqIntSeqInt2SeqReal2 vl_expected:= {jkl:={2,{3,4}},xy:={5.0,6.0}}; | |
2424 | //'301F 30 0B 020102 3006 020103 020104 3010 090603352E452B30 090603362E452B30'O | |
2425 | f_compareAndVerdict( | |
2426 | encode_mySetIntSeqIntSeqInt2SeqReal2(valueof(t_msetisisi2r2_omiti(1, {2,{3,4}}, {5.0,6.0} ))), | |
2427 | encode_mySetSeqIntSeqInt2SeqReal2(vl_expected)) | |
2428 | } | |
2429 | testcase tc_MySetIntSeqIntSeqInt2SeqReal2_omitjkl() runs on MyComp { | |
2430 | var MySetIntSeqReal2 vl_expected:= {i:= 1, xy:={5.0,6.0}}; | |
2431 | //'30150201013010090603352E452B30090603362E452B30'O | |
2432 | //'30150201013010090603352E452B30090603362E452B30'O : T: 30 (SEQ), L:'15'O=21dec, V: '0201013010090603352E452B30090603362E452B30'O | |
2433 | //020101 int:1 | |
2434 | //3010090603352E452B30090603362E452B30'O T: 30 (SEQ), L:'10'O=16dec V:'090603352E452B30 090603362E452B30'O | |
2435 | //090603352E452B30 T:09 (REAL), L:06, V:'03 35 2E 45 2B 30'O='0000 0011 ...'B ??? (35->5.0 | |
2436 | //090603362E452B30 T:09 (REAL), L:06, V:'03 36 2E 45 2B 30'O=??? (36->6.0dec?) | |
2437 | f_compareAndVerdict( encode_mySetIntSeqIntSeqInt2SeqReal2( | |
2438 | valueof(t_msetisisi2r2_omitjkl(1, {2,{3,4}}, {5.0,6.0} ))), | |
2439 | encode_mySetIntSeqReal2(vl_expected)); | |
2440 | } | |
2441 | ||
2442 | testcase tc_MySetIntSeqIntSeqInt2SeqReal2_omitxy() runs on MyComp { | |
2443 | var MySetIntSeqIntSeqInt2 vl_expected:= { i:=1, jkl:={2,{3,4}} }; | |
2444 | //'3010020101300B0201023006020103020104'O | |
2445 | f_compareAndVerdict( | |
2446 | encode_mySetIntSeqIntSeqInt2SeqReal2(valueof(t_msetisisi2r2_omitxy(1, {2,{3,4}}, {5.0,6.0} ))), | |
2447 | encode_mySetIntSeqIntSeqInt2(vl_expected)) | |
2448 | } | |
2449 | ||
2450 | //...with { erroneous(jkl.jk.j) "value:=omit"} | |
2451 | testcase tc_MySetIntSeqIntSeqInt2SeqReal2_omitjkll() runs on MyComp { | |
2452 | var MySetIntSeqIntSeqInt2optoptSeqReal2 vl_expected:= {i:=1,jkl:={2,{3,omit}},xy:= {5.0,6.0}}; | |
2453 | f_compareAndVerdict( encode_mySetIntSeqIntSeqInt2SeqReal2( | |
2454 | valueof(t_msetisisi2r2_omitjkll(1, {2,{3,4}}, {5.0,6.0} ))), | |
2455 | encode_mySetIntSeqIntSeqInt2optoptSeqReal2(vl_expected)) | |
2456 | } | |
2457 | ||
2458 | testcase tc_MySetIntSeqIntSeqInt2SeqReal2_valuexy() runs on MyComp { | |
2459 | //var MySetIntSeqIntSeqInt2SeqReal2 vl_msisisi2r2; | |
2460 | var MySetIntSeqIntSeqInt2SeqReal2 vl_expected:= {i:=1,jkl:={2,{3,4}}, xy:={15.0,16.0}}; | |
2461 | f_compareAndVerdict( | |
2462 | encode_mySetIntSeqIntSeqInt2SeqReal2(valueof(t_msetisisi2r2_valuexy(1, {2,{3,4}}, {5.0,6.0} ))), | |
2463 | encode_mySetIntSeqIntSeqInt2SeqReal2(vl_expected)) | |
2464 | } | |
2465 | ||
2466 | testcase tc_MySetIntSeqIntSeqInt2SeqReal2_valuex_y() runs on MyComp { | |
2467 | ||
2468 | var MySetIntSeqIntSeqInt2SeqReal2 vl_expected:= {i:=1,jkl:={2,{3,4}},xy:= {15.0,16.0}}; | |
2469 | f_compareAndVerdict( encode_mySetIntSeqIntSeqInt2SeqReal2( | |
2470 | valueof(t_msetisisi2r2_valuex_y(1, {2,{3,4}}, {5.0,6.0} ))), | |
2471 | encode_mySetIntSeqIntSeqInt2SeqReal2(vl_expected)); | |
2472 | } | |
2473 | ||
2474 | //expression evaluation in attribue section: | |
2475 | testcase tc_MySetIntSeqIntSeqInt2SeqReal2_valuex_y_expr1() runs on MyComp { | |
2476 | ||
2477 | var MySetIntSeqIntSeqInt2SeqReal2 vl_expected:= {i:=1,jkl:={2,{3,4}},xy:= {45.0,64.0}}; | |
2478 | f_compareAndVerdict( | |
2479 | encode_mySetIntSeqIntSeqInt2SeqReal2(valueof(t_msetisisi2r2_valuex_y_expr1(1, {2,{3,4}}, {5.0,6.0} ))), | |
2480 | encode_mySetIntSeqIntSeqInt2SeqReal2(vl_expected)) | |
2481 | } | |
2482 | ||
2483 | testcase tc_MySetIntSeqIntSeqInt2SeqReal2_valuex_y_expr2() runs on MyComp { | |
2484 | var MySetIntSeqIntSeqInt2SeqReal2 vl_expected:= {i:=1,jkl:={2,{3,4}}, xy:={654321.0, 3.2}}; | |
2485 | f_compareAndVerdict( | |
2486 | encode_mySetIntSeqIntSeqInt2SeqReal2(valueof(t_msetisisi2r2_valuex_y_expr2(1, {2,{3,4}}, {5.0,6.0} ))), | |
2487 | encode_mySetIntSeqIntSeqInt2SeqReal2(vl_expected)) | |
2488 | } | |
2489 | ||
2490 | testcase tc_MySet_SeqSeqIntSeqInt2SeqReal2_SeqSeqIntSeqInt2SeqReal2_omit() runs on MyComp { | |
2491 | var MySeqSeqIntSeqInt2SeqReal2 vl_s1:={jkl:={1,{2,3}},xy:={3.0,4.0} }, vl_s2:= {jkl:={5,{6,7}},xy:={7.0, 8.0}}; | |
2492 | var MySet_SeqSeqIntSeqInt2optoptSeqReal2_SeqSeqIntSeqInt2optoptSeqReal2 vl_expected := | |
2493 | { s1:={ omit,{1,{2, omit}}, {3.0,4.0} },s2:= { omit,{5,{6,7}}, {7.0, 8.0}} }; | |
2494 | f_compareAndVerdict( | |
2495 | encode_mySet_SeqSeqIntSeqInt2SeqReal2_SeqSeqIntSeqInt2SeqReal2(valueof(t_msetssi2sr2ssi2sr2_omit(vl_s1, vl_s2))), | |
2496 | encode_mySet_SeqSeqIntSeqInt2optoptSeqReal2_SeqSeqIntSeqInt2optoptSeqReal2(vl_expected)); | |
2497 | } | |
2498 | ||
2499 | }//group Set | |
2500 | ||
2501 | ||
2502 | //****************************** SET OF **************************************************** | |
2503 | ||
2504 | ||
2505 | group SetOf { //====set of related templates==== | |
2506 | ||
2507 | template MySetOfBool t_msetofb(template boolean p_b1, template boolean p_b2, template boolean p_b3) := { p_b1, p_b2, p_b3 }; | |
2508 | template MySetOfNull t_msetofn := { NULL, NULL, NULL }; | |
2509 | template MySetOfInt t_msetofi(template integer p_i1, template integer p_i2, template integer p_i3):={p_i1,p_i2,p_i3}; | |
2510 | template MySetOfMyEnum t_msetofme(template MyEnum p_e1, template MyEnum p_e2,template MyEnum p_e3) := {p_e1,p_e2,p_e3}; | |
2511 | //template MySetOfEnum t_msetofe(template MyEnum p_e1, template MyEnum p_e2,template MyEnum p_e3):= {p_e1,p_e2,p_e3}; | |
2512 | template MySetOfReal t_msetofr(template float p_f1, template float p_f2, template float p_f3, template float p_f4):= {p_f1, p_f2,p_f3,p_f4} | |
2513 | template MySetOfBitStr t_msetofbs(template bitstring p_bs1, template bitstring p_bs2, template bitstring p_bs3):={p_bs1, p_bs2, p_bs3} | |
2514 | template MySetOfOctStr t_msetofos(template octetstring p_os1, template octetstring p_os2, template octetstring p_os3):={p_os1, p_os2, p_os3} | |
2515 | //template MySetOfObjId | |
2516 | ||
2517 | template MySetOfBool t_msetofbValueSameType(template boolean p_b1, template boolean p_b2, template boolean p_b3) := { p_b1, p_b2, p_b3 } | |
2518 | with { erroneous ([0]) "value:= boolean:true"; erroneous ([2]) "value:= boolean:true" }; | |
2519 | ||
2520 | template MySetOfBool t_msetofbValueDiffType(template boolean p_b1, template boolean p_b2, template boolean p_b3) := { p_b1, p_b2, p_b3 } | |
2521 | with { erroneous ([0]) "value:= 1.414"; erroneous ([2]) "value:= 2011" }; //2011 = '07DB'O | |
2522 | ||
2523 | template MySetOfBool t_msetofbValueDiffTypeRaw(template boolean p_b1, template boolean p_b2, template boolean p_b3) := { p_b1, p_b2, p_b3 } | |
2524 | with { erroneous ([0]) "value(raw):='02010A'O"; erroneous ([2]) "value:= 2011" }; //2011 = '07DB'O | |
2525 | ||
2526 | template MySetOfBool t_msetofbValueOmit(template boolean p_b1, template boolean p_b2, template boolean p_b3) := { p_b1, p_b2, p_b3 } | |
2527 | with { erroneous ([0]) "value:=omit"; erroneous ([1]) "value:= omit" }; | |
2528 | ||
2529 | template MySetOfBool t_msetofbAfterOmit(template boolean p_b1, template boolean p_b2, template boolean p_b3) := { p_b1, p_b2, p_b3 } | |
2530 | with { erroneous ([0]) "after:=omit all" }; | |
2531 | ||
2532 | template MySetOfBool t_msetofbValueAfterOmit(template boolean p_b1, template boolean p_b2, template boolean p_b3) := { p_b1, p_b2, p_b3 } | |
2533 | with { erroneous ([0]) "after:=omit all"; erroneous ([0]) "value:=true" }; | |
2534 | ||
2535 | template MySetOfBool t_msetofbBeforeOmit2(template boolean p_b1, template boolean p_b2, template boolean p_b3) := { p_b1, p_b2, p_b3 } | |
2536 | with { erroneous ([2]) "before:=omit all" }; | |
2537 | ||
2538 | template MySetOfBool t_msetofbValueBeforeOmit2(template boolean p_b1, template boolean p_b2, template boolean p_b3) := { p_b1, p_b2, p_b3 } | |
2539 | with { erroneous ([2]) "before:=omit all"; erroneous ([2]) "value:=true" }; | |
2540 | ||
2541 | template MySetOfBool t_msetofbBeforeOmit1(template boolean p_b1, template boolean p_b2, template boolean p_b3) := { p_b1, p_b2, p_b3 } | |
2542 | with { erroneous ([1]) "before:=omit all" }; | |
2543 | ||
2544 | template MySetOfBool t_msetofbValueBeforeOmit1(template boolean p_b1, template boolean p_b2, template boolean p_b3) := { p_b1, p_b2, p_b3 } | |
2545 | with { erroneous ([1]) "before:=omit all"; erroneous ([1]) "value:=true" }; | |
2546 | // This would cause compilation error - correct behavior: | |
2547 | //template MySetOfBool t_msetofbAfterOmit(template boolean p_b1, template boolean p_b2, template boolean p_b3) := { p_b1, p_b2, p_b3 } | |
2548 | // with { erroneous ([0]) "after:=omit all"; erroneous ([1]) "value:= 4" }; | |
2549 | ||
2550 | //NULL: | |
2551 | template MySetOfNull t_msetofnValueDiffType := { NULL,NULL,NULL } | |
2552 | with { erroneous ([0]) "value:= 1.414"; erroneous ([2]) "value:= 2011" }; | |
2553 | ||
2554 | template MySetOfNull t_msetofnValueDiffTypeRaw := { NULL,NULL,NULL } | |
2555 | with { erroneous ([0]) "value(raw):='02010A'O"; erroneous ([2]) "value:= 2011" }; | |
2556 | ||
2557 | template MySetOfNull t_msetofnBeforeOmit2 := { NULL,NULL,NULL } | |
2558 | with { erroneous ([2]) "before:= omit all" }; | |
2559 | template MySetOfNull t_msetofnIntValueBeforeOmit2 := { NULL,NULL,NULL } | |
2560 | with { erroneous ([2]) "before:= omit all"; erroneous ([2]) "value:= 2011"}; | |
2561 | template MySetOfNull t_msetofnFloatValueBeforeOmit2 := { NULL,NULL,NULL } | |
2562 | with { erroneous ([2]) "before:= omit all"; erroneous ([2]) "value:= 0.1"}; | |
2563 | template MySetOfNull t_msetofnBeforeOmit1 := { NULL,NULL,NULL } | |
2564 | with { erroneous ([1]) "before:= omit all" }; | |
2565 | template MySetOfNull t_msetofnIntValueBeforeOmit1 := { NULL,NULL,NULL } | |
2566 | with { erroneous ([1]) "before:= omit all"; erroneous ([1]) "value:= 2011"}; | |
2567 | template MySetOfNull t_msetofnFloatValueBeforeOmit1 := { NULL,NULL,NULL } | |
2568 | with { erroneous ([1]) "before:= omit all"; erroneous ([1]) "value:= 0.1"}; | |
2569 | template MySetOfNull t_msetofnFloatValueBeforeOmit1_2 := { NULL,NULL,NULL } | |
2570 | with { erroneous ([1]) "before:= omit all"; erroneous ([2]) "value:= 0.1"}; | |
2571 | ||
2572 | template MySetOfNull t_msetofnAfterOmit1 := { NULL,NULL,NULL } | |
2573 | with { erroneous ([1]) "after:= omit all" }; | |
2574 | template MySetOfNull t_msetofnIntValueAfterOmit1 := { NULL,NULL,NULL } | |
2575 | with { erroneous ([1]) "after:= omit all"; erroneous ([1]) "value:= 2011"}; | |
2576 | template MySetOfNull t_msetofnFloatValueAfterOmit1 := { NULL,NULL,NULL } | |
2577 | with { erroneous ([1]) "after:= omit all"; erroneous ([1]) "value:= 0.1"}; | |
2578 | template MySetOfNull t_msetofnFloatValueAfterOmit1_2 := { NULL,NULL,NULL } | |
2579 | with { erroneous ([1]) "after:= omit all"; erroneous ([0]) "value:= 0.1"}; | |
2580 | //INTEGER | |
2581 | template MySetOfInt t_msetofiValueDiffType(integer p_i, integer p_j, integer p_k) := { p_i, p_j, p_k } | |
2582 | with { erroneous ([0]) "value:= 1.414"; erroneous ([2]) "value:= true" }; | |
2583 | template MySetOfInt t_msetofiValueDiffTypeRaw(integer p_i, integer p_j, integer p_k) := { p_i, p_j, p_k } | |
2584 | with { erroneous ([0]) "value(raw):= '0101FF'O"; erroneous ([2]) "value:= true" }; | |
2585 | template MySetOfInt t_msetofiBeforeOmit2(integer p_i, integer p_j, integer p_k) := { p_i, p_j, p_k } | |
2586 | with { erroneous ([2]) "before:= omit all" }; | |
2587 | template MySetOfInt t_msetofiIntValueBeforeOmit2(integer p_i, integer p_j, integer p_k) := { p_i, p_j, p_k } | |
2588 | with { erroneous ([2]) "before:= omit all"; erroneous ([2]) "value:= 2011"}; | |
2589 | template MySetOfInt t_msetofiFloatValueBeforeOmit2(integer p_i, integer p_j, integer p_k) := { p_i, p_j, p_k } | |
2590 | with { erroneous ([2]) "before:= omit all"; erroneous ([2]) "value:= 0.1"}; | |
2591 | template MySetOfInt t_msetofiBeforeOmit1(integer p_i, integer p_j, integer p_k) := { p_i, p_j, p_k } | |
2592 | with { erroneous ([1]) "before:= omit all" }; | |
2593 | template MySetOfInt t_msetofiIntValueBeforeOmit1(integer p_i, integer p_j, integer p_k) := { p_i, p_j, p_k } | |
2594 | with { erroneous ([1]) "before:= omit all"; erroneous ([1]) "value:= 2011"}; | |
2595 | template MySetOfInt t_msetofiFloatValueBeforeOmit1(integer p_i, integer p_j, integer p_k) := { p_i, p_j, p_k } | |
2596 | with { erroneous ([1]) "before:= omit all"; erroneous ([1]) "value:= 0.1"}; | |
2597 | template MySetOfInt t_msetofiFloatValueBeforeOmit1_2(integer p_i, integer p_j, integer p_k) := { p_i, p_j, p_k } | |
2598 | with { erroneous ([1]) "before:= omit all"; erroneous ([2]) "value:= 0.1"}; | |
2599 | ||
2600 | template MySetOfInt t_msetofiAfterOmit1(integer p_i, integer p_j, integer p_k) := { p_i, p_j, p_k } | |
2601 | with { erroneous ([1]) "after:= omit all" }; | |
2602 | template MySetOfInt t_msetofiIntValueAfterOmit1(integer p_i, integer p_j, integer p_k) := { p_i, p_j, p_k } | |
2603 | with { erroneous ([1]) "after:= omit all"; erroneous ([1]) "value:= 2011"}; | |
2604 | template MySetOfInt t_msetofiFloatValueAfterOmit1(integer p_i, integer p_j, integer p_k) := { p_i, p_j, p_k } | |
2605 | with { erroneous ([1]) "after:= omit all"; erroneous ([1]) "value:= 0.1"}; | |
2606 | template MySetOfInt t_msetofiFloatValueAfterOmit1_2(integer p_i, integer p_j, integer p_k) := { p_i, p_j, p_k } | |
2607 | with { erroneous ([1]) "after:= omit all"; erroneous ([0]) "value:= 0.1"}; | |
2608 | //MyEnum | |
2609 | template MySetOfMyEnum t_msetofeValueDiffType(MyEnum p_i, MyEnum p_j, MyEnum p_k) := { p_i, p_j, p_k } | |
2610 | with { erroneous ([0]) "value:= 1.414"; erroneous ([2]) "value:= true" }; | |
2611 | template MySetOfMyEnum t_msetofeValueDiffTypeRaw(MyEnum p_i, MyEnum p_j, MyEnum p_k) := { p_i, p_j, p_k } | |
2612 | with { erroneous ([0]) "value(raw):= '0101FF'O"; erroneous ([2]) "value:= true" }; | |
2613 | template MySetOfMyEnum t_msetofeBeforeOmit2(MyEnum p_i, MyEnum p_j, MyEnum p_k) := { p_i, p_j, p_k } | |
2614 | with { erroneous ([2]) "before:= omit all" }; | |
2615 | template MySetOfMyEnum t_msetofeIntValueBeforeOmit2(MyEnum p_i, MyEnum p_j, MyEnum p_k) := { p_i, p_j, p_k } | |
2616 | with { erroneous ([2]) "before:= omit all"; erroneous ([2]) "value:= 2011"}; | |
2617 | template MySetOfMyEnum t_msetofeFloatValueBeforeOmit2(MyEnum p_i, MyEnum p_j, MyEnum p_k) := { p_i, p_j, p_k } | |
2618 | with { erroneous ([2]) "before:= omit all"; erroneous ([2]) "value:= 0.1"}; | |
2619 | template MySetOfMyEnum t_msetofeBeforeOmit1(MyEnum p_i, MyEnum p_j, MyEnum p_k) := { p_i, p_j, p_k } | |
2620 | with { erroneous ([1]) "before:= omit all" }; | |
2621 | template MySetOfMyEnum t_msetofeIntValueBeforeOmit1(MyEnum p_i, MyEnum p_j, MyEnum p_k) := { p_i, p_j, p_k } | |
2622 | with { erroneous ([1]) "before:= omit all"; erroneous ([1]) "value:= 2011"}; | |
2623 | template MySetOfMyEnum t_msetofeFloatValueBeforeOmit1(MyEnum p_i, MyEnum p_j, MyEnum p_k) := { p_i, p_j, p_k } | |
2624 | with { erroneous ([1]) "before:= omit all"; erroneous ([1]) "value:= 0.1"}; | |
2625 | template MySetOfMyEnum t_msetofeFloatValueBeforeOmit1_2(MyEnum p_i, MyEnum p_j, MyEnum p_k) := { p_i, p_j, p_k } | |
2626 | with { erroneous ([1]) "before:= omit all"; erroneous ([2]) "value:= 0.1"}; | |
2627 | ||
2628 | template MySetOfMyEnum t_msetofeAfterOmit1(MyEnum p_i, MyEnum p_j, MyEnum p_k) := { p_i, p_j, p_k } | |
2629 | with { erroneous ([1]) "after:= omit all" }; | |
2630 | template MySetOfMyEnum t_msetofeIntValueAfterOmit1(MyEnum p_i, MyEnum p_j, MyEnum p_k) := { p_i, p_j, p_k } | |
2631 | with { erroneous ([1]) "after:= omit all"; erroneous ([1]) "value:= 2011"}; | |
2632 | template MySetOfMyEnum t_msetofeFloatValueAfterOmit1(MyEnum p_i, MyEnum p_j, MyEnum p_k) := { p_i, p_j, p_k } | |
2633 | with { erroneous ([1]) "after:= omit all"; erroneous ([1]) "value:= 0.1"}; | |
2634 | template MySetOfMyEnum t_msetofeFloatValueAfterOmit1_2(MyEnum p_i, MyEnum p_j, MyEnum p_k) := { p_i, p_j, p_k } | |
2635 | with { erroneous ([1]) "after:= omit all"; erroneous ([0]) "value:= 0.1"}; | |
2636 | //Real (float): | |
2637 | template MySetOfReal t_msetofrValueDiffType(float p_i, float p_j, float p_k) := { p_i, p_j, p_k } | |
2638 | with { erroneous ([0]) "value:= 1.414"; erroneous ([2]) "value:= true" }; | |
2639 | template MySetOfReal t_msetofrValueDiffTypeRaw(float p_i, float p_j, float p_k) := { p_i, p_j, p_k } | |
2640 | with { erroneous ([0]) "value(raw):= '0101FF'O"; erroneous ([2]) "value:= true" }; | |
2641 | template MySetOfReal t_msetofrBeforeOmit2(float p_i, float p_j, float p_k) := { p_i, p_j, p_k } | |
2642 | with { erroneous ([2]) "before:= omit all" }; | |
2643 | template MySetOfReal t_msetofrIntValueBeforeOmit2(float p_i, float p_j, float p_k) := { p_i, p_j, p_k } | |
2644 | with { erroneous ([2]) "before:= omit all"; erroneous ([2]) "value:= 2011"}; | |
2645 | template MySetOfReal t_msetofrFloatValueBeforeOmit2(float p_i, float p_j, float p_k) := { p_i, p_j, p_k } | |
2646 | with { erroneous ([2]) "before:= omit all"; erroneous ([2]) "value:= 0.1"}; | |
2647 | template MySetOfReal t_msetofrBeforeOmit1(float p_i, float p_j, float p_k) := { p_i, p_j, p_k } | |
2648 | with { erroneous ([1]) "before:= omit all" }; | |
2649 | template MySetOfReal t_msetofrIntValueBeforeOmit1(float p_i, float p_j, float p_k) := { p_i, p_j, p_k } | |
2650 | with { erroneous ([1]) "before:= omit all"; erroneous ([1]) "value:= 2011"}; | |
2651 | template MySetOfReal t_msetofrFloatValueBeforeOmit1(float p_i, float p_j, float p_k) := { p_i, p_j, p_k } | |
2652 | with { erroneous ([1]) "before:= omit all"; erroneous ([1]) "value:= 0.1"}; | |
2653 | template MySetOfReal t_msetofrFloatValueBeforeOmit1_2(float p_i, float p_j, float p_k) := { p_i, p_j, p_k } | |
2654 | with { erroneous ([1]) "before:= omit all"; erroneous ([2]) "value:= 0.1"}; | |
2655 | ||
2656 | template MySetOfReal t_msetofrAfterOmit1(float p_i, float p_j, float p_k) := { p_i, p_j, p_k } | |
2657 | with { erroneous ([1]) "after:= omit all" }; | |
2658 | template MySetOfReal t_msetofrIntValueAfterOmit1(float p_i, float p_j, float p_k) := { p_i, p_j, p_k } | |
2659 | with { erroneous ([1]) "after:= omit all"; erroneous ([1]) "value:= 2011"}; | |
2660 | template MySetOfReal t_msetofrFloatValueAfterOmit1(float p_i, float p_j, float p_k) := { p_i, p_j, p_k } | |
2661 | with { erroneous ([1]) "after:= omit all"; erroneous ([1]) "value:= 0.1"}; | |
2662 | template MySetOfReal t_msetofrFloatValueAfterOmit1_2(float p_i, float p_j, float p_k) := { p_i, p_j, p_k } | |
2663 | with { erroneous ([1]) "after:= omit all"; erroneous ([0]) "value:= 0.1"}; | |
2664 | //more complex: | |
2665 | template MySetOfSeqSeqIntSeqInt2SeqReal2 t_msetofssisi2sr2_omitj(template MySeqSeqIntSeqInt2SeqReal2 p_s1,template MySeqSeqIntSeqInt2SeqReal2 p_s2) :={ p_s1, p_s2} | |
2666 | with { erroneous([0].jkl.jk.j) "value:=omit" } | |
2667 | ||
2668 | template MySetOfSeqSeqIntSeqInt2SeqReal2 t_msetofssisi2sr2_beforeomitj(template MySeqSeqIntSeqInt2SeqReal2 p_s1,template MySeqSeqIntSeqInt2SeqReal2 p_s2) :={ p_s1, p_s2} | |
2669 | with { erroneous([0].jkl.jk.j) "before:=omit all" erroneous([1].jkl.jk.i) "after:=omit all"} | |
2670 | ||
2671 | template MySetOfSeqSeqIntSeqInt2SeqReal2 t_msetofssisi2sr2_beforeafteromit( | |
2672 | template MySeqSeqIntSeqInt2SeqReal2 p_s1,template MySeqSeqIntSeqInt2SeqReal2 p_s2) :={ p_s1, p_s2} | |
2673 | with { erroneous([0].jkl.jk.j) "before:=omit all" erroneous([1].jkl.jk.i) "after:=omit all"} | |
2674 | ||
2675 | template MySetOfSeqSeqIntSeqInt2SeqReal2 t_msetofssisi2sr2_arglist_omit( | |
2676 | template MySeqSeqIntSeqInt2SeqReal2 p_s1,template MySeqSeqIntSeqInt2SeqReal2 p_s2) :={ p_s1, p_s2} | |
2677 | with { erroneous([0].jkl.i, [0].jkl.jk.j, [0].xy.x) "value:=omit" erroneous([1].jkl.jk.i, [1].xy.x) "after:=omit all"} | |
2678 | ||
2679 | template MySetOfSeqSeqIntSeqInt2SeqReal2 t_msetofssisi2sr2_arglist_afteromit( | |
2680 | template MySeqSeqIntSeqInt2SeqReal2 p_s1,template MySeqSeqIntSeqInt2SeqReal2 p_s2) :={ p_s1, p_s2} | |
2681 | with { erroneous([0].jkl.jk.i, [0].xy.x) "after:=omit all" erroneous([1].jkl.jk.i, [1].xy.x) "after:=omit all"} | |
2682 | ||
2683 | template MySetOfSeqSeqIntSeqInt2SeqReal2 t_msetofssisi2sr2_arglist_beforeomit( | |
2684 | template MySeqSeqIntSeqInt2SeqReal2 p_s1,template MySeqSeqIntSeqInt2SeqReal2 p_s2) :={ p_s1, p_s2} | |
2685 | with { erroneous([0].jkl.jk.j, [0].xy.y) "before:=omit all" erroneous([1].jkl.jk.i, [1].xy.x) "after:=omit all"} | |
2686 | //============ Testcases==================== | |
2687 | //Testcase of same type | |
2688 | testcase tc_MySetOfBoolValueSameType1() runs on MyComp { | |
2689 | f_compareAndVerdict( | |
2690 | encode_mySetOfBool(valueof(t_msetofbValueSameType(false, false,false))), | |
2691 | encode_mySetOfBool(valueof(t_msetofb(true, false, true)))); | |
2692 | } | |
2693 | ||
2694 | testcase tc_MySetOfBoolValueSameType2() runs on MyComp { | |
2695 | f_compareAndVerdict( | |
2696 | encode_mySetOfBool(valueof(t_msetofbValueSameType(true, true,true))), | |
2697 | encode_mySetOfBool(valueof(t_msetofb(true, true, true)))); | |
2698 | } | |
2699 | ||
2700 | testcase tc_MySetOfBoolValueDiffType() runs on MyComp { | |
2701 | var MySetOfMyUnionBT vl_expected :={ {r:=1.414}, {b:=true}, {i:=2011}}; | |
2702 | f_compareAndVerdict( | |
2703 | encode_mySetOfBool(valueof(t_msetofbValueDiffType(true, true,true))), | |
2704 | encode_mySetOfMyUnionBT( vl_expected )); | |
2705 | } | |
2706 | ||
2707 | testcase tc_MySetOfBoolValueRaw() runs on MyComp { | |
2708 | var MySetOfMyUnionBT vl_expected :={ {i:=10}, {b:=true}, {i:=2011}}; | |
2709 | f_compareAndVerdict( | |
2710 | encode_mySetOfBool(valueof(t_msetofbValueDiffTypeRaw(true, true,true))), | |
2711 | encode_mySetOfMyUnionBT( vl_expected )); | |
2712 | //02010A i=10 | |
2713 | } | |
2714 | ||
2715 | testcase tc_MySetOfBoolValueOmit() runs on MyComp { | |
2716 | var MySetOfMyUnionBT vl_expected :={ {b:=true} }; | |
2717 | f_compareAndVerdict( | |
2718 | encode_mySetOfBool(valueof(t_msetofbValueOmit(false, false,true))), | |
2719 | encode_mySetOfMyUnionBT( vl_expected )); | |
2720 | } | |
2721 | ||
2722 | testcase tc_MySetOfBoolAfterOmit() runs on MyComp { | |
2723 | var MySetOfMyUnionBT vl_expected :={ {b:=false} }; | |
2724 | f_compareAndVerdict( | |
2725 | encode_mySetOfBool(valueof(t_msetofbAfterOmit(false, true,true))), | |
2726 | encode_mySetOfMyUnionBT( vl_expected )); | |
2727 | } | |
2728 | ||
2729 | testcase tc_MySetOfBoolValueAfterOmit() runs on MyComp { | |
2730 | var MySetOfMyUnionBT vl_expected :={ {b:=true} }; | |
2731 | f_compareAndVerdict( | |
2732 | encode_mySetOfBool(valueof(t_msetofbValueAfterOmit(false, false,false))), | |
2733 | encode_mySetOfMyUnionBT( vl_expected )); | |
2734 | } | |
2735 | ||
2736 | testcase tc_MySetOfBoolBeforeOmit2() runs on MyComp { | |
2737 | var MySetOfMyUnionBT vl_expected :={ {b:=true} }; | |
2738 | f_compareAndVerdict( | |
2739 | encode_mySetOfBool(valueof(t_msetofbBeforeOmit2(false, false,true))), | |
2740 | encode_mySetOfMyUnionBT( vl_expected )); | |
2741 | } | |
2742 | ||
2743 | testcase tc_MySetOfBoolValueBeforeOmit2() runs on MyComp { | |
2744 | var MySetOfMyUnionBT vl_expected :={ {b:=true} }; | |
2745 | f_compareAndVerdict( | |
2746 | encode_mySetOfBool(valueof(t_msetofbValueBeforeOmit2(false, false,false))), | |
2747 | encode_mySetOfMyUnionBT( vl_expected )); | |
2748 | } | |
2749 | ||
2750 | testcase tc_MySetOfBoolBeforeOmit1() runs on MyComp { | |
2751 | var MySetOfMyUnionBT vl_expected :={ {b:=false},{b:=true} }; | |
2752 | f_compareAndVerdict( | |
2753 | encode_mySetOfBool(valueof(t_msetofbBeforeOmit1(true, false,true))), | |
2754 | encode_mySetOfMyUnionBT( vl_expected )); | |
2755 | } | |
2756 | ||
2757 | testcase tc_MySetOfBoolValueBeforeOmit1() runs on MyComp { | |
2758 | var MySetOfMyUnionBT vl_expected :={ {b:=true},{b:=false} }; | |
2759 | f_compareAndVerdict( | |
2760 | encode_mySetOfBool(valueof(t_msetofbValueBeforeOmit1(false, false,false))), | |
2761 | encode_mySetOfMyUnionBT( vl_expected )); | |
2762 | } | |
2763 | //NULL | |
2764 | testcase tc_MySetOfNullValueDiffType() runs on MyComp { | |
2765 | var MySetOfMyUnionBT vl_expected :={ {r:=1.414}, {n:=NULL}, {i:=2011}}; | |
2766 | f_compareAndVerdict( | |
2767 | encode_mySetOfNull(valueof(t_msetofnValueDiffType)), | |
2768 | encode_mySetOfMyUnionBT( vl_expected )); | |
2769 | } | |
2770 | testcase tc_MySetOfNullValueDiffTypeRaw() runs on MyComp { | |
2771 | var MySetOfMyUnionBT vl_expected :={ {i:=10}, {n:=NULL}, {i:=2011}}; | |
2772 | f_compareAndVerdict( | |
2773 | encode_mySetOfNull(valueof(t_msetofnValueDiffTypeRaw)), | |
2774 | encode_mySetOfMyUnionBT( vl_expected )); | |
2775 | } | |
2776 | testcase tc_MySetOfNullBeforeOmit2() runs on MyComp { | |
2777 | var MySetOfMyUnionBT vl_expected :={ {n:=NULL}}; | |
2778 | f_compareAndVerdict( | |
2779 | encode_mySetOfNull(valueof(t_msetofnBeforeOmit2)), | |
2780 | encode_mySetOfMyUnionBT( vl_expected )); | |
2781 | } | |
2782 | testcase tc_MySetOfNullIntValueBeforeOmit2() runs on MyComp { | |
2783 | var MySetOfMyUnionBT vl_expected :={ {i:=2011}}; | |
2784 | f_compareAndVerdict( | |
2785 | encode_mySetOfNull(valueof(t_msetofnIntValueBeforeOmit2)), | |
2786 | encode_mySetOfMyUnionBT( vl_expected )); | |
2787 | } | |
2788 | testcase tc_MySetOfNullFloatValueBeforeOmit2() runs on MyComp { | |
2789 | var MySetOfMyUnionBT vl_expected :={ {r:=0.1}}; | |
2790 | f_compareAndVerdict( | |
2791 | encode_mySetOfNull(valueof(t_msetofnFloatValueBeforeOmit2)), | |
2792 | encode_mySetOfMyUnionBT( vl_expected )); | |
2793 | } | |
2794 | testcase tc_MySetOfNullBeforeOmit1() runs on MyComp { | |
2795 | var MySetOfMyUnionBT vl_expected :={ {n:=NULL},{n:=NULL} }; | |
2796 | f_compareAndVerdict( | |
2797 | encode_mySetOfNull(valueof(t_msetofnBeforeOmit1)), | |
2798 | encode_mySetOfMyUnionBT( vl_expected )); | |
2799 | } | |
2800 | testcase tc_MySetOfNullIntValueBeforeOmit1() runs on MyComp { | |
2801 | var MySetOfMyUnionBT vl_expected :={ {i:=2011}, {n:=NULL}}; | |
2802 | f_compareAndVerdict( | |
2803 | encode_mySetOfNull(valueof(t_msetofnIntValueBeforeOmit1)), | |
2804 | encode_mySetOfMyUnionBT( vl_expected )); | |
2805 | } | |
2806 | testcase tc_MySetOfNullFloatValueBeforeOmit1() runs on MyComp { | |
2807 | var MySetOfMyUnionBT vl_expected :={ {r:=0.1},{n:=NULL}}; | |
2808 | f_compareAndVerdict( | |
2809 | encode_mySetOfNull(valueof(t_msetofnFloatValueBeforeOmit1)), | |
2810 | encode_mySetOfMyUnionBT( vl_expected )); | |
2811 | } | |
2812 | testcase tc_MySetOfNullFloatValueBeforeOmit1_2() runs on MyComp { | |
2813 | var MySetOfMyUnionBT vl_expected :={ {n:=NULL},{r:=0.1}}; | |
2814 | f_compareAndVerdict( | |
2815 | encode_mySetOfNull(valueof(t_msetofnFloatValueBeforeOmit1_2)), | |
2816 | encode_mySetOfMyUnionBT( vl_expected )); | |
2817 | } | |
2818 | ||
2819 | testcase tc_MySetOfNullAfterOmit1() runs on MyComp { | |
2820 | var MySetOfMyUnionBT vl_expected :={ {n:=NULL}, {n:=NULL} }; | |
2821 | f_compareAndVerdict( | |
2822 | encode_mySetOfNull(valueof(t_msetofnAfterOmit1)), | |
2823 | encode_mySetOfMyUnionBT( vl_expected )); | |
2824 | } | |
2825 | testcase tc_MySetOfNullIntValueAfterOmit1() runs on MyComp { | |
2826 | var MySetOfMyUnionBT vl_expected :={ {n:=NULL},{i:=2011}}; | |
2827 | f_compareAndVerdict( | |
2828 | encode_mySetOfNull(valueof(t_msetofnIntValueAfterOmit1)), | |
2829 | encode_mySetOfMyUnionBT( vl_expected )); | |
2830 | } | |
2831 | testcase tc_MySetOfNullFloatValueAfterOmit1() runs on MyComp { | |
2832 | var MySetOfMyUnionBT vl_expected :={ {n:=NULL},{r:=0.1}}; | |
2833 | f_compareAndVerdict( | |
2834 | encode_mySetOfNull(valueof(t_msetofnFloatValueAfterOmit1)), | |
2835 | encode_mySetOfMyUnionBT( vl_expected )); | |
2836 | } | |
2837 | testcase tc_MySetOfNullFloatValueAfterOmit1_2() runs on MyComp { | |
2838 | var MySetOfMyUnionBT vl_expected :={ {r:=0.1},{n:=NULL}}; | |
2839 | f_compareAndVerdict( | |
2840 | encode_mySetOfNull(valueof(t_msetofnFloatValueAfterOmit1)), | |
2841 | encode_mySetOfMyUnionBT( vl_expected )); | |
2842 | } | |
2843 | //INTEGER | |
2844 | testcase tc_MySetOfIntValueDiffType() runs on MyComp { | |
2845 | var MySetOfMyUnionBT vl_expected :={ {r:=1.414}, {i:=2}, {b:=true}}; | |
2846 | f_compareAndVerdict( | |
2847 | encode_mySetOfInt(valueof(t_msetofiValueDiffType(1,2,3))), | |
2848 | encode_mySetOfMyUnionBT( vl_expected )); | |
2849 | } | |
2850 | testcase tc_MySetOfIntValueDiffTypeRaw() runs on MyComp { | |
2851 | var MySetOfMyUnionBT vl_expected :={ {b:=true}, {i:=2}, {b:=true}}; | |
2852 | f_compareAndVerdict( | |
2853 | encode_mySetOfInt(valueof(t_msetofiValueDiffTypeRaw(1,2,3))), | |
2854 | encode_mySetOfMyUnionBT( vl_expected )); | |
2855 | } | |
2856 | testcase tc_MySetOfIntBeforeOmit2() runs on MyComp { | |
2857 | var MySetOfMyUnionBT vl_expected :={ {i:=3} }; | |
2858 | f_compareAndVerdict( | |
2859 | encode_mySetOfInt(valueof(t_msetofiBeforeOmit2(1,2,3))), | |
2860 | encode_mySetOfMyUnionBT( vl_expected )); | |
2861 | } | |
2862 | testcase tc_MySetOfIntIntValueBeforeOmit2() runs on MyComp { | |
2863 | var MySetOfMyUnionBT vl_expected :={ {i:=2011}}; | |
2864 | f_compareAndVerdict( | |
2865 | encode_mySetOfInt(valueof(t_msetofiIntValueBeforeOmit2(1,2,3))), | |
2866 | encode_mySetOfMyUnionBT( vl_expected )); | |
2867 | } | |
2868 | testcase tc_MySetOfIntFloatValueBeforeOmit2() runs on MyComp { | |
2869 | var MySetOfMyUnionBT vl_expected :={ {r:=0.1}}; | |
2870 | f_compareAndVerdict( | |
2871 | encode_mySetOfInt(valueof(t_msetofiFloatValueBeforeOmit2(1,2,3))), | |
2872 | encode_mySetOfMyUnionBT( vl_expected )); | |
2873 | } | |
2874 | testcase tc_MySetOfIntBeforeOmit1() runs on MyComp { | |
2875 | var MySetOfMyUnionBT vl_expected :={ {i:=2},{i:=3} }; | |
2876 | f_compareAndVerdict( | |
2877 | encode_mySetOfInt(valueof(t_msetofiBeforeOmit1(1,2,3))), | |
2878 | encode_mySetOfMyUnionBT( vl_expected )); | |
2879 | } | |
2880 | testcase tc_MySetOfIntIntValueBeforeOmit1() runs on MyComp { | |
2881 | var MySetOfMyUnionBT vl_expected :={ {i:=2011}, {i:=3}}; | |
2882 | f_compareAndVerdict( | |
2883 | encode_mySetOfInt(valueof(t_msetofiIntValueBeforeOmit1(1,2,3))), | |
2884 | encode_mySetOfMyUnionBT( vl_expected )); | |
2885 | } | |
2886 | testcase tc_MySetOfIntFloatValueBeforeOmit1() runs on MyComp { | |
2887 | var MySetOfMyUnionBT vl_expected :={ {r:=0.1},{i:=3}}; | |
2888 | f_compareAndVerdict( | |
2889 | encode_mySetOfInt(valueof(t_msetofiFloatValueBeforeOmit1(1,2,3))), | |
2890 | encode_mySetOfMyUnionBT( vl_expected )); | |
2891 | } | |
2892 | testcase tc_MySetOfIntFloatValueBeforeOmit1_2() runs on MyComp { | |
2893 | var MySetOfMyUnionBT vl_expected :={ {i:=2},{r:=0.1}}; | |
2894 | f_compareAndVerdict( | |
2895 | encode_mySetOfInt(valueof(t_msetofiFloatValueBeforeOmit1_2(1,2,3))), | |
2896 | encode_mySetOfMyUnionBT( vl_expected )); | |
2897 | } | |
2898 | ||
2899 | testcase tc_MySetOfIntAfterOmit1() runs on MyComp { | |
2900 | var MySetOfMyUnionBT vl_expected :={ {i:=1}, {i:=2} } ; | |
2901 | f_compareAndVerdict( | |
2902 | encode_mySetOfInt(valueof(t_msetofiAfterOmit1(1,2,3))), | |
2903 | encode_mySetOfMyUnionBT( vl_expected )); | |
2904 | } | |
2905 | testcase tc_MySetOfIntIntValueAfterOmit1() runs on MyComp { | |
2906 | var MySetOfMyUnionBT vl_expected :={ {i:=1},{i:=2011}}; | |
2907 | f_compareAndVerdict( | |
2908 | encode_mySetOfInt(valueof(t_msetofiIntValueAfterOmit1(1,2,3))), | |
2909 | encode_mySetOfMyUnionBT( vl_expected )); | |
2910 | } | |
2911 | testcase tc_MySetOfIntFloatValueAfterOmit1() runs on MyComp { | |
2912 | var MySetOfMyUnionBT vl_expected :={ {i:=1},{r:=0.1}}; | |
2913 | f_compareAndVerdict( | |
2914 | encode_mySetOfInt(valueof(t_msetofiFloatValueAfterOmit1(1,2,3))), | |
2915 | encode_mySetOfMyUnionBT( vl_expected )); | |
2916 | } | |
2917 | testcase tc_MySetOfIntFloatValueAfterOmit1_2() runs on MyComp { | |
2918 | var MySetOfMyUnionBT vl_expected :={ {r:=0.1},{i:=2}}; | |
2919 | f_compareAndVerdict( | |
2920 | encode_mySetOfInt(valueof(t_msetofiFloatValueAfterOmit1_2(1,2,3))), | |
2921 | encode_mySetOfMyUnionBT( vl_expected )); | |
2922 | } | |
2923 | //MyEnum | |
2924 | testcase tc_MySetOfMyEnumValueDiffType() runs on MyComp { | |
2925 | var MySetOfMyUnionBT vl_expected :={ {r:=1.414}, {e:=second}, {b:=true}}; | |
2926 | f_compareAndVerdict( | |
2927 | encode_mySetOfMyEnum(valueof(t_msetofeValueDiffType(first, second, third))), | |
2928 | encode_mySetOfMyUnionBT( vl_expected )); | |
2929 | } | |
2930 | testcase tc_MySetOfMyEnumValueDiffTypeRaw() runs on MyComp { | |
2931 | var MySetOfMyUnionBT vl_expected :={ {b:=true}, {e:=second}, {b:=true}}; | |
2932 | f_compareAndVerdict( | |
2933 | encode_mySetOfMyEnum(valueof(t_msetofeValueDiffTypeRaw(first, second, third))), | |
2934 | encode_mySetOfMyUnionBT( vl_expected )); | |
2935 | } | |
2936 | testcase tc_MySetOfMyEnumBeforeOmit2() runs on MyComp { | |
2937 | var MySetOfMyUnionBT vl_expected :={ {e:=third} }; | |
2938 | f_compareAndVerdict( | |
2939 | encode_mySetOfMyEnum(valueof(t_msetofeBeforeOmit2(first, second, third))), | |
2940 | encode_mySetOfMyUnionBT( vl_expected )); | |
2941 | } | |
2942 | testcase tc_MySetOfMyEnumIntValueBeforeOmit2() runs on MyComp { | |
2943 | var MySetOfMyUnionBT vl_expected :={ {i:=2011}}; | |
2944 | f_compareAndVerdict( | |
2945 | encode_mySetOfMyEnum(valueof(t_msetofeIntValueBeforeOmit2(first, second, third))), | |
2946 | encode_mySetOfMyUnionBT( vl_expected )); | |
2947 | } | |
2948 | testcase tc_MySetOfMyEnumFloatValueBeforeOmit2() runs on MyComp { | |
2949 | var MySetOfMyUnionBT vl_expected :={ {r:=0.1}}; | |
2950 | f_compareAndVerdict( | |
2951 | encode_mySetOfMyEnum(valueof(t_msetofeFloatValueBeforeOmit2(first, second, third))), | |
2952 | encode_mySetOfMyUnionBT( vl_expected )); | |
2953 | } | |
2954 | testcase tc_MySetOfMyEnumBeforeOmit1() runs on MyComp { | |
2955 | var MySetOfMyUnionBT vl_expected :={ {e:=second},{e:=third} }; | |
2956 | f_compareAndVerdict( | |
2957 | encode_mySetOfMyEnum(valueof(t_msetofeBeforeOmit1(first, second, third))), | |
2958 | encode_mySetOfMyUnionBT( vl_expected )); | |
2959 | } | |
2960 | testcase tc_MySetOfMyEnumIntValueBeforeOmit1() runs on MyComp { | |
2961 | var MySetOfMyUnionBT vl_expected :={ {i:=2011}, {e:=third}}; | |
2962 | f_compareAndVerdict( | |
2963 | encode_mySetOfMyEnum(valueof(t_msetofeIntValueBeforeOmit1(first, second, third))), | |
2964 | encode_mySetOfMyUnionBT( vl_expected )); | |
2965 | } | |
2966 | testcase tc_MySetOfMyEnumFloatValueBeforeOmit1() runs on MyComp { | |
2967 | var MySetOfMyUnionBT vl_expected :={ {r:=0.1},{e:=third}}; | |
2968 | f_compareAndVerdict( | |
2969 | encode_mySetOfMyEnum(valueof(t_msetofeFloatValueBeforeOmit1(first, second, third))), | |
2970 | encode_mySetOfMyUnionBT( vl_expected )); | |
2971 | } | |
2972 | testcase tc_MySetOfMyEnumFloatValueBeforeOmit1_2() runs on MyComp { | |
2973 | var MySetOfMyUnionBT vl_expected :={ {e:=second},{r:=0.1}}; | |
2974 | f_compareAndVerdict( | |
2975 | encode_mySetOfMyEnum(valueof(t_msetofeFloatValueBeforeOmit1_2(first, second, third))), | |
2976 | encode_mySetOfMyUnionBT( vl_expected )); | |
2977 | } | |
2978 | ||
2979 | testcase tc_MySetOfMyEnumAfterOmit1() runs on MyComp { | |
2980 | var MySetOfMyUnionBT vl_expected :={ {e:=first}, {e:=second} } ; | |
2981 | f_compareAndVerdict( | |
2982 | encode_mySetOfMyEnum(valueof(t_msetofeAfterOmit1(first, second, third))), | |
2983 | encode_mySetOfMyUnionBT( vl_expected )); | |
2984 | } | |
2985 | testcase tc_MySetOfMyEnumIntValueAfterOmit1() runs on MyComp { | |
2986 | var MySetOfMyUnionBT vl_expected :={ {e:=first},{i:=2011}}; | |
2987 | f_compareAndVerdict( | |
2988 | encode_mySetOfMyEnum(valueof(t_msetofeIntValueAfterOmit1(first, second, third))), | |
2989 | encode_mySetOfMyUnionBT( vl_expected )); | |
2990 | } | |
2991 | testcase tc_MySetOfMyEnumFloatValueAfterOmit1() runs on MyComp { | |
2992 | var MySetOfMyUnionBT vl_expected :={ {e:=first},{r:=0.1}}; | |
2993 | f_compareAndVerdict( | |
2994 | encode_mySetOfMyEnum(valueof(t_msetofeFloatValueAfterOmit1(first, second, third))), | |
2995 | encode_mySetOfMyUnionBT( vl_expected )); | |
2996 | } | |
2997 | testcase tc_MySetOfMyEnumFloatValueAfterOmit1_2() runs on MyComp { | |
2998 | var MySetOfMyUnionBT vl_expected :={ {r:=0.1},{e:=second}}; | |
2999 | f_compareAndVerdict( | |
3000 | encode_mySetOfMyEnum(valueof(t_msetofeFloatValueAfterOmit1_2(first, second, third))), | |
3001 | encode_mySetOfMyUnionBT( vl_expected )); | |
3002 | } | |
3003 | ||
3004 | //Real (Float) | |
3005 | testcase tc_MySetOfRealValueDiffType() runs on MyComp { | |
3006 | var MySetOfMyUnionBT vl_expected :={ {r:=1.414}, {r:=2.0}, {b:=true}}; | |
3007 | f_compareAndVerdict( | |
3008 | encode_mySetOfReal(valueof(t_msetofrValueDiffType(1.0, 2.0, 3.0))), | |
3009 | encode_mySetOfMyUnionBT( vl_expected )); | |
3010 | } | |
3011 | testcase tc_MySetOfRealValueDiffTypeRaw() runs on MyComp { | |
3012 | var MySetOfMyUnionBT vl_expected :={ {b:=true}, {r:=2.0}, {b:=true}}; | |
3013 | f_compareAndVerdict( | |
3014 | encode_mySetOfReal(valueof(t_msetofrValueDiffTypeRaw(1.0, 2.0, 3.0))), | |
3015 | encode_mySetOfMyUnionBT( vl_expected )); | |
3016 | } | |
3017 | testcase tc_MySetOfRealBeforeOmit2() runs on MyComp { | |
3018 | var MySetOfMyUnionBT vl_expected :={ {r:=3.0} }; | |
3019 | f_compareAndVerdict( | |
3020 | encode_mySetOfReal(valueof(t_msetofrBeforeOmit2(1.0, 2.0, 3.0))), | |
3021 | encode_mySetOfMyUnionBT( vl_expected )); | |
3022 | } | |
3023 | testcase tc_MySetOfRealIntValueBeforeOmit2() runs on MyComp { | |
3024 | var MySetOfMyUnionBT vl_expected :={ {i:=2011}}; | |
3025 | f_compareAndVerdict( | |
3026 | encode_mySetOfReal(valueof(t_msetofrIntValueBeforeOmit2(1.0, 2.0, 3.0))), | |
3027 | encode_mySetOfMyUnionBT( vl_expected )); | |
3028 | } | |
3029 | testcase tc_MySetOfRealFloatValueBeforeOmit2() runs on MyComp { | |
3030 | var MySetOfMyUnionBT vl_expected :={ {r:=0.1}}; | |
3031 | f_compareAndVerdict( | |
3032 | encode_mySetOfReal(valueof(t_msetofrFloatValueBeforeOmit2(1.0, 2.0, 3.0))), | |
3033 | encode_mySetOfMyUnionBT( vl_expected )); | |
3034 | } | |
3035 | testcase tc_MySetOfRealBeforeOmit1() runs on MyComp { | |
3036 | var MySetOfMyUnionBT vl_expected :={ {r:=2.0},{r:=3.0} }; | |
3037 | f_compareAndVerdict( | |
3038 | encode_mySetOfReal(valueof(t_msetofrBeforeOmit1(1.0, 2.0, 3.0))), | |
3039 | encode_mySetOfMyUnionBT( vl_expected )); | |
3040 | } | |
3041 | testcase tc_MySetOfRealIntValueBeforeOmit1() runs on MyComp { | |
3042 | var MySetOfMyUnionBT vl_expected :={ {i:=2011}, {r:=3.0}}; | |
3043 | f_compareAndVerdict( | |
3044 | encode_mySetOfReal(valueof(t_msetofrIntValueBeforeOmit1(1.0, 2.0, 3.0))), | |
3045 | encode_mySetOfMyUnionBT( vl_expected )); | |
3046 | } | |
3047 | testcase tc_MySetOfRealFloatValueBeforeOmit1() runs on MyComp { | |
3048 | var MySetOfMyUnionBT vl_expected :={ {r:=0.1},{r:=3.0}}; | |
3049 | f_compareAndVerdict( | |
3050 | encode_mySetOfReal(valueof(t_msetofrFloatValueBeforeOmit1(1.0, 2.0, 3.0))), | |
3051 | encode_mySetOfMyUnionBT( vl_expected )); | |
3052 | } | |
3053 | testcase tc_MySetOfRealFloatValueBeforeOmit1_2() runs on MyComp { | |
3054 | var MySetOfMyUnionBT vl_expected :={ {r:=2.0},{r:=0.1}}; | |
3055 | f_compareAndVerdict( | |
3056 | encode_mySetOfReal(valueof(t_msetofrFloatValueBeforeOmit1_2(1.0, 2.0, 3.0))), | |
3057 | encode_mySetOfMyUnionBT( vl_expected )); | |
3058 | } | |
3059 | ||
3060 | testcase tc_MySetOfRealAfterOmit1() runs on MyComp { | |
3061 | var MySetOfMyUnionBT vl_expected :={ {r:=1.0}, {r:=2.0} } ; | |
3062 | f_compareAndVerdict( | |
3063 | encode_mySetOfReal(valueof(t_msetofrAfterOmit1(1.0, 2.0, 3.0))), | |
3064 | encode_mySetOfMyUnionBT( vl_expected )); | |
3065 | } | |
3066 | testcase tc_MySetOfRealIntValueAfterOmit1() runs on MyComp { | |
3067 | var MySetOfMyUnionBT vl_expected :={ {r:=1.0},{i:=2011}}; | |
3068 | f_compareAndVerdict( | |
3069 | encode_mySetOfReal(valueof(t_msetofrIntValueAfterOmit1(1.0, 2.0, 3.0))), | |
3070 | encode_mySetOfMyUnionBT( vl_expected )); | |
3071 | } | |
3072 | testcase tc_MySetOfRealFloatValueAfterOmit1() runs on MyComp { | |
3073 | var MySetOfMyUnionBT vl_expected :={ {r:=1.0},{r:=0.1}}; | |
3074 | f_compareAndVerdict( | |
3075 | encode_mySetOfReal(valueof(t_msetofrFloatValueAfterOmit1(1.0, 2.0, 3.0))), | |
3076 | encode_mySetOfMyUnionBT( vl_expected )); | |
3077 | } | |
3078 | testcase tc_MySetOfRealFloatValueAfterOmit1_2() runs on MyComp { | |
3079 | var MySetOfMyUnionBT vl_expected :={ {r:=0.1},{r:=2.0}}; | |
3080 | f_compareAndVerdict( | |
3081 | encode_mySetOfReal(valueof(t_msetofrFloatValueAfterOmit1_2(1.0, 2.0, 3.0))), | |
3082 | encode_mySetOfMyUnionBT( vl_expected )); | |
3083 | } | |
3084 | ||
3085 | }//SetOf | |
3086 | ||
3087 | ||
3088 | ||
3089 | group Union { | |
3090 | ||
3091 | testcase tc_myUnionBasicTypes_boolean3() runs on MyComp { | |
3092 | //0. just for fun: | |
3093 | var MyUnionBasicTypes vl_mubt:={b:=true}; | |
3094 | //'0101FF'O: T:01 (UNIV,P,BOOLEAN), L:01, V:'11111111'O (TRUE) | |
3095 | f_compareAndVerdict(encode_myUnionBasicTypes(vl_mubt), '0101FF'O ); | |
3096 | ||
3097 | //Compilation fault (ok): | |
3098 | //log( "encoded value: ", encode_myUnionBasicTypes( valueof(t_mubt_boolean2( true )))); | |
3099 | ||
3100 | vl_mubt:={b:=false}; | |
3101 | f_compareAndVerdict( | |
3102 | encode_myUnionBasicTypes(valueof(t_mubt_boolean3(true))), | |
3103 | encode_myUnionBasicTypes( vl_mubt ) ); | |
3104 | } | |
3105 | ||
3106 | testcase tc_myUnionBasicTypes_booleanRaw() runs on MyComp { | |
3107 | f_compareAndVerdict( encode_myUnionBasicTypes(valueof(t_mubt_booleanRaw(true))), 'ABBA'O) | |
3108 | }//tc_ | |
3109 | ||
3110 | ||
3111 | testcase tc_myUnionBasicTypes_nullRaw() runs on MyComp { | |
3112 | f_compareAndVerdict( encode_myUnionBasicTypes(valueof(t_mubt_nullRaw)), 'ABBA'O) | |
3113 | }//tc_ | |
3114 | ||
3115 | testcase tc_myUnionBasicTypes_integerRaw() runs on MyComp { | |
3116 | f_compareAndVerdict(encode_myUnionBasicTypes(valueof(t_mubt_integerRaw(129))),'ABBA'O) | |
3117 | }//tc_ | |
3118 | ||
3119 | testcase tc_myUnionBasicTypes_enumRaw() runs on MyComp { | |
3120 | f_compareAndVerdict(encode_myUnionBasicTypes(valueof(t_mubt_enumRaw(second))), 'ABBA'O ) | |
3121 | }//tc_ | |
3122 | ||
3123 | testcase tc_myUnionBasicTypes_realRaw() runs on MyComp { | |
3124 | f_compareAndVerdict(encode_myUnionBasicTypes(valueof(t_mubt_realRaw(3.8))), 'ABBA'O ) | |
3125 | }//tc_ | |
3126 | ||
3127 | testcase tc_myUnionBasicTypes_bitstrRaw() runs on MyComp { | |
3128 | f_compareAndVerdict(encode_myUnionBasicTypes(valueof(t_mubt_bitstrRaw('101011111'B))), 'ABBA'O ) | |
3129 | }//tc_ | |
3130 | ||
3131 | testcase tc_myUnionBasicTypes_octetstrRaw() runs on MyComp { | |
3132 | f_compareAndVerdict(encode_myUnionBasicTypes(valueof(t_mubt_octetstrRaw('BABAB0B0'O))), 'ABBA'O ) | |
3133 | }//tc_ | |
3134 | ||
3135 | testcase tc_myUnionBasicTypes_objidRaw() runs on MyComp { | |
3136 | f_compareAndVerdict(encode_myUnionBasicTypes(valueof(t_mubt_objidRaw(objid{ itu_t identified_organization etsi(0) inDomain(1)}))), 'ABBA'O ) | |
3137 | }//tc_ | |
3138 | ||
3139 | testcase tc_myUnionComplexTypes_omit_0_1() runs on MyComp { | |
3140 | var MySeqOfReal vl_expected:= { 3.0 } | |
3141 | f_compareAndVerdict(encode_myUnionComplexTypes(valueof(t_muct_0_1( 1.0,2.0,3.0 ) )), encode_mySeqOfReal(vl_expected)); | |
3142 | }//tc_ | |
3143 | ||
3144 | testcase tc_myUnionComplexTypes_omit_0_2() runs on MyComp { | |
3145 | var MySeqOfReal vl_expected:= { 2.0 } | |
3146 | f_compareAndVerdict(encode_myUnionComplexTypes(valueof(t_muct_0_2( 1.0,2.0,3.0 ) )), encode_mySeqOfReal(vl_expected)); | |
3147 | }//tc_ | |
3148 | ||
3149 | testcase tc_myUnionComplexTypes_omit_1_2() runs on MyComp { | |
3150 | var MySeqOfReal vl_expected:= { 1.0 } | |
3151 | f_compareAndVerdict(encode_myUnionComplexTypes(valueof(t_muct_1_2( 1.0,2.0,3.0 ) )), encode_mySeqOfReal(vl_expected)); | |
3152 | }//tc_ | |
3153 | testcase tc_myUnionComplexTypes_omit_2_1() runs on MyComp { | |
3154 | var MySeqOfReal vl_expected:= { 1.0 } | |
3155 | f_compareAndVerdict(encode_myUnionComplexTypes(valueof(t_muct_2_1( 1.0,2.0,3.0 ) )), encode_mySeqOfReal(vl_expected)); | |
3156 | }//tc_ | |
3157 | testcase tc_myUnionComplexTypes_omit_0_1_2() runs on MyComp { | |
3158 | var MySeqOfReal vl_expected:= { } | |
3159 | f_compareAndVerdict(encode_myUnionComplexTypes(valueof(t_muct_0_1_2 ( 10.0,11.0,12.0 ) )), encode_mySeqOfReal(vl_expected)); | |
3160 | //log("decoded value:", decode_myUnionComplexTypes('300909070331312E452B30'O)); | |
3161 | }//tc_ | |
3162 | ||
3163 | testcase tc_myUnionComplexTypes_omit_0_2_1() runs on MyComp { | |
3164 | var MySeqOfReal vl_expected:= { } | |
3165 | f_compareAndVerdict(encode_myUnionComplexTypes(valueof(t_muct_0_2_1 ( 1.0,2.0,3.0 ) )), encode_mySeqOfReal(vl_expected)); | |
3166 | ||
3167 | }//tc_ | |
3168 | ||
3169 | }//group Union | |
3170 | ||
3171 | control { | |
3172 | //SEQUENCE: | |
3173 | execute(tc_mySeqIntOmit()); // <========{ integer } | |
3174 | //execute(tc_mySeqIntBeforeOmit()); | |
3175 | //execute(tc_mySeqIntAfterOmit()); | |
3176 | execute(tc_mySeqIntValueSameTypeE()); | |
3177 | execute(tc_mySeqIntValueSameTypeI()); | |
3178 | execute(tc_mySeqIntValueDiffTypeExplicitBool()); | |
3179 | execute(tc_mySeqIntValueDiffTypeImplicitBool()); | |
3180 | //execute(tc_mySeqIntValueDiffTypeExplicitNull()); | |
3181 | //execute(tc_mySeqIntValueDiffTypeImplicitNull()); | |
3182 | execute(tc_mySeqIntValueDiffTypeExplicitOctStr()); | |
3183 | execute(tc_mySeqIntValueDiffTypeImplicitOctStr()); | |
3184 | execute(tc_mySeqIntValueDiffTypeExplicitBitStr()); | |
3185 | execute(tc_mySeqIntValueDiffTypeImplicitBitStr()); | |
3186 | execute(tc_mySeqIntValueDiffTypeExplicitEnum()); | |
3187 | execute(tc_mySeqIntValueDiffTypeExplicitFloat()); | |
3188 | execute(tc_mySeqIntValueDiffTypeImplicitFloat()); | |
3189 | execute(tc_mySeqIntValueDiffTypeExplicitStr()); | |
3190 | //execute(tc_mySeqIntValueDiffTypeImplicitStr()); | |
3191 | ||
3192 | execute(tc_mySeqIntValueDiffTypeRawOctStr()); | |
3193 | execute(tc_mySeqInt2Omiti());//<===== {integer, integer} | |
3194 | execute(tc_mySeqInt2Omitj()); | |
3195 | //execute(tc_mySeqInt2BeforeOmiti()); | |
3196 | execute(tc_mySeqInt2BeforeOmitj()); | |
3197 | execute(tc_mySeqInt2AfterOmiti()); | |
3198 | //execute(tc_mySeqInt2AfterOmitj()); | |
3199 | execute(tc_mySeqInt2ValueSameTypeE()); | |
3200 | execute(tc_mySeqInt2ValueSameTypeI()); | |
3201 | execute(tc_mySeqInt2ValueDiffTypeExplicitFloat()); | |
3202 | execute(tc_mySeqInt2ValueDiffTypeImplicitFloat()); | |
3203 | execute(tc_mySeqInt2ValueDiffTypeExplicitStr()); | |
3204 | execute(tc_mySeqInt2ValueDiffTypeExplicitBitStr()); | |
3205 | execute(tc_mySeqInt2ValueDiffTypeImplicitBitStr()); | |
3206 | execute(tc_mySeqInt2ValueSeqIntV()); | |
3207 | execute(tc_mySeqInt2ValueSeqIntOptV()); | |
3208 | execute(tc_mySeqInt2ValueSeqIntC()); | |
3209 | execute(tc_mySeqInt2ValueSeqInt2OptC()); | |
3210 | execute(tc_mySeqInt2ValueSeqInt2OptOmitC()); | |
3211 | execute(tc_mySeqInt2ValueSeqInt2iiC()); | |
3212 | execute(tc_mySeqInt2ValueSeqInt2ijC()); | |
3213 | execute(tc_mySeqInt2ValueSeqInt2jiC()); | |
3214 | execute(tc_mySeqInt2ValueSeqInt2jjC()); | |
3215 | ||
3216 | execute(tc_mySeqIntSeqInt2ValueOmiti()); //=== Sequence { integer, {integer, integer} ) | |
3217 | execute(tc_mySeqIntSeqInt2ValueOmitjki()); | |
3218 | execute(tc_mySeqIntSeqInt2ValueOmitjkj()); | |
3219 | ||
3220 | execute(tc_mySeqIntSeqInt2ValueRawjki()); | |
3221 | execute(tc_mySeqIntSeqInt2ValueRawjkj()); | |
3222 | execute(tc_mySeqIntSeqInt2AfteriBeforej()); | |
3223 | //<===== {integer, integer,integer, integer} | |
3224 | execute(tc_mySeqInt4Omiti()); | |
3225 | execute(tc_mySeqInt4Omitj()); | |
3226 | execute(tc_mySeqInt4Omitk()); | |
3227 | execute(tc_mySeqInt4Omitl()); | |
3228 | execute(tc_mySeqInt4optOmitl()); | |
3229 | execute(tc_mySeqInt4optValueLInteger()); | |
3230 | execute(tc_mySeqInt4optBeforeLInteger()); | |
3231 | execute(tc_mySeqInt4optAfterLInteger()); | |
3232 | execute(tc_mySeqInt4ValueiOctetStr()); | |
3233 | execute(tc_mySeqInt4ValuejOctetStr()); | |
3234 | execute(tc_mySeqInt4ValueiRaw());execute(tc_mySeqInt4ValuejRaw());execute(tc_mySeqInt4ValuekRaw());execute(tc_mySeqInt4ValuelRaw()); | |
3235 | execute(tc_mySeqISKL_ValueSomit()); | |
3236 | execute(tc_mySeqISKL_ValueSIomit()); | |
3237 | execute(tc_mySeqISKL_ValueSISJomit()); | |
3238 | execute(tc_mySeqISKL_ValueSraw()); | |
3239 | ||
3240 | //===== sequence of sequence of sequence ==== | |
3241 | execute(tc_MySeqIntSeqIntSeqInt2SeqReal2_omiti()); | |
3242 | execute(tc_MySeqIntSeqIntSeqInt2SeqReal2_omitjkl()); | |
3243 | execute(tc_MySeqIntSeqIntSeqInt2SeqReal2_omitxy() ); | |
3244 | execute(tc_MySeqIntSeqIntSeqInt2SeqReal2_omitjkll()); | |
3245 | execute(tc_MySeqIntSeqIntSeqInt2SeqReal2_valuexy()); | |
3246 | execute(tc_MySeqIntSeqIntSeqInt2SeqReal2_valuex_y());//47. | |
3247 | execute(tc_MySeqIntSeqIntSeqInt2SeqReal2_valuex_y()); | |
3248 | execute(tc_MySeqIntSeqIntSeqInt2SeqReal2_valuex_y_expr1()); | |
3249 | execute(tc_MySeqIntSeqIntSeqInt2SeqReal2_valuex_y_expr2());//50 | |
3250 | execute(tc_MySeq_SeqSeqIntSeqInt2SeqReal2_SeqSeqIntSeqInt2SeqReal2_omit()); | |
3251 | //======= { boolean, integer, octetstring,enumeration, real } | |
3252 | ||
3253 | //Deeper encapsulation: - | |
3254 | //========= SEQUENCE OF===================== | |
3255 | //Bool: | |
3256 | execute(tc_MySeqOfBoolValueSameType1()); | |
3257 | execute(tc_MySeqOfBoolValueSameType2()); | |
3258 | execute(tc_MySeqOfBoolValueDiffType()); | |
3259 | execute(tc_MySeqOfBoolValueRaw()); | |
3260 | execute(tc_MySeqOfBoolValueOmit()); | |
3261 | execute(tc_MySeqOfBoolAfterOmit()); | |
3262 | execute(tc_MySeqOfBoolValueAfterOmit()); | |
3263 | execute(tc_MySeqOfBoolBeforeOmit2()); | |
3264 | execute(tc_MySeqOfBoolValueBeforeOmit2()); | |
3265 | execute(tc_MySeqOfBoolBeforeOmit1()); | |
3266 | execute(tc_MySeqOfBoolValueBeforeOmit1()); | |
3267 | //NULL: | |
3268 | execute(tc_MySeqOfNullValueDiffType()); | |
3269 | execute(tc_MySeqOfNullValueDiffTypeRaw()); | |
3270 | execute(tc_MySeqOfNullBeforeOmit2()); | |
3271 | execute(tc_MySeqOfNullIntValueBeforeOmit2()); | |
3272 | execute(tc_MySeqOfNullFloatValueBeforeOmit2()); | |
3273 | execute(tc_MySeqOfNullBeforeOmit1()); | |
3274 | execute(tc_MySeqOfNullIntValueBeforeOmit1()); | |
3275 | execute(tc_MySeqOfNullFloatValueBeforeOmit1() ); | |
3276 | execute(tc_MySeqOfNullFloatValueBeforeOmit1_2()); | |
3277 | execute(tc_MySeqOfNullAfterOmit1()); | |
3278 | execute(tc_MySeqOfNullIntValueAfterOmit1()); | |
3279 | execute(tc_MySeqOfNullFloatValueAfterOmit1() ); | |
3280 | execute(tc_MySeqOfNullFloatValueBeforeOmit1_2()); | |
3281 | //INTEGER: | |
3282 | execute(tc_MySeqOfIntValueDiffType()); | |
3283 | execute(tc_MySeqOfIntValueDiffTypeRaw()); | |
3284 | execute(tc_MySeqOfIntBeforeOmit2()); | |
3285 | execute(tc_MySeqOfIntIntValueBeforeOmit2()); | |
3286 | execute(tc_MySeqOfIntFloatValueBeforeOmit2()); | |
3287 | execute(tc_MySeqOfIntBeforeOmit1()); | |
3288 | execute(tc_MySeqOfIntIntValueBeforeOmit1()); | |
3289 | execute(tc_MySeqOfIntFloatValueBeforeOmit1() ); | |
3290 | execute(tc_MySeqOfIntFloatValueBeforeOmit1_2()); | |
3291 | execute(tc_MySeqOfIntAfterOmit1()); | |
3292 | execute(tc_MySeqOfIntIntValueAfterOmit1()); | |
3293 | execute(tc_MySeqOfIntFloatValueAfterOmit1() ); | |
3294 | execute(tc_MySeqOfIntFloatValueAfterOmit1_2()); | |
3295 | //MyEnum | |
3296 | execute(tc_MySeqOfMyEnumValueDiffType()); | |
3297 | execute(tc_MySeqOfMyEnumValueDiffTypeRaw()); | |
3298 | execute(tc_MySeqOfMyEnumBeforeOmit2()); | |
3299 | execute(tc_MySeqOfMyEnumIntValueBeforeOmit2()); | |
3300 | execute(tc_MySeqOfMyEnumFloatValueBeforeOmit2()); | |
3301 | execute(tc_MySeqOfMyEnumBeforeOmit1()); | |
3302 | execute(tc_MySeqOfMyEnumIntValueBeforeOmit1()); | |
3303 | execute(tc_MySeqOfMyEnumFloatValueBeforeOmit1() ); | |
3304 | execute(tc_MySeqOfMyEnumFloatValueBeforeOmit1_2()); | |
3305 | execute(tc_MySeqOfMyEnumAfterOmit1()); | |
3306 | execute(tc_MySeqOfMyEnumIntValueAfterOmit1()); | |
3307 | execute(tc_MySeqOfMyEnumFloatValueAfterOmit1() ); | |
3308 | execute(tc_MySeqOfMyEnumFloatValueAfterOmit1_2()); | |
3309 | //REAL (float) | |
3310 | execute(tc_MySeqOfRealValueDiffType()); | |
3311 | execute(tc_MySeqOfRealValueDiffTypeRaw()); | |
3312 | execute(tc_MySeqOfRealBeforeOmit2()); | |
3313 | execute(tc_MySeqOfRealIntValueBeforeOmit2()); | |
3314 | execute(tc_MySeqOfRealFloatValueBeforeOmit2()); | |
3315 | execute(tc_MySeqOfRealBeforeOmit1()); | |
3316 | execute(tc_MySeqOfRealIntValueBeforeOmit1()); | |
3317 | execute(tc_MySeqOfRealFloatValueBeforeOmit1() ); | |
3318 | execute(tc_MySeqOfRealFloatValueBeforeOmit1_2()); | |
3319 | execute(tc_MySeqOfRealAfterOmit1()); | |
3320 | execute(tc_MySeqOfRealIntValueAfterOmit1()); | |
3321 | execute(tc_MySeqOfRealFloatValueAfterOmit1() ); | |
3322 | execute(tc_MySeqOfRealFloatValueAfterOmit1_2()); | |
3323 | //Depth 3-4: | |
3324 | execute(tc_MySeqOf_SeqSeqIntSeqInt2SeqReal2_omitj()); | |
3325 | execute(tc_MySeqOf_SeqSeqIntSeqInt2SeqReal2_beforeafteromit()); | |
3326 | execute(tc_MySeqOf_SeqSeqIntSeqInt2SeqReal2_arglist_omit()); | |
3327 | execute(tc_MySeqOf_SeqSeqIntSeqInt2SeqReal2_arglist_afteromit()); | |
3328 | execute(tc_MySeqOf_SeqSeqIntSeqInt2SeqReal2_arglist_beforeomit()); | |
3329 | //========= SET ============================ | |
3330 | ||
3331 | execute(tc_MySetIntOmit()); // <========{ integer } | |
3332 | //execute(tc_MySetIntBeforeOmit()); | |
3333 | //execute(tc_MySetIntAfterOmit()); | |
3334 | execute(tc_MySetIntValueSameTypeE()); | |
3335 | execute(tc_MySetIntValueSameTypeI()); | |
3336 | execute(tc_MySetIntValueDiffTypeExplicitBool()); | |
3337 | execute(tc_MySetIntValueDiffTypeImplicitBool()); | |
3338 | //execute(tc_MySetIntValueDiffTypeExplicitNull()); | |
3339 | //execute(tc_MySetIntValueDiffTypeImplicitNull()); | |
3340 | execute(tc_MySetIntValueDiffTypeExplicitOctStr()); | |
3341 | execute(tc_MySetIntValueDiffTypeImplicitOctStr()); | |
3342 | execute(tc_MySetIntValueDiffTypeExplicitBitStr()); | |
3343 | execute(tc_MySetIntValueDiffTypeImplicitBitStr()); | |
3344 | execute(tc_MySetIntValueDiffTypeExplicitEnum()); | |
3345 | execute(tc_MySetIntValueDiffTypeExplicitFloat()); | |
3346 | execute(tc_MySetIntValueDiffTypeImplicitFloat()); | |
3347 | execute(tc_MySetIntValueDiffTypeExplicitStr()); | |
3348 | //execute(tc_MySetIntValueDiffTypeImplicitStr()); | |
3349 | ||
3350 | execute(tc_MySetIntValueDiffTypeRawOctStr()); | |
3351 | execute(tc_MySetInt2Omiti());//<===== {integer, integer} | |
3352 | execute(tc_MySetInt2Omitj()); | |
3353 | //execute(tc_MySetInt2BeforeOmiti()); | |
3354 | execute(tc_MySetInt2BeforeOmitj()); | |
3355 | execute(tc_MySetInt2AfterOmiti()); | |
3356 | //execute(tc_MySetInt2AfterOmitj()); | |
3357 | execute(tc_MySetInt2ValueSameTypeE()); //<<<==== FAILED, wrong encode!!! | |
3358 | //execute(tc_MySetInt2ValueSameTypeI()); | |
3359 | execute(tc_MySetInt2ValueDiffTypeExplicitFloat()); | |
3360 | execute(tc_MySetInt2ValueDiffTypeImplicitFloat()); | |
3361 | execute(tc_MySetInt2ValueDiffTypeExplicitStr()); | |
3362 | execute(tc_MySetInt2ValueDiffTypeExplicitBitStr()); | |
3363 | execute(tc_MySetInt2ValueDiffTypeImplicitBitStr()); | |
3364 | execute(tc_MySetInt2ValueSeqIntV()); | |
3365 | execute(tc_MySetInt2ValueSeqIntOptV()); | |
3366 | execute(tc_MySetInt2ValueSeqIntC()); | |
3367 | execute(tc_MySetInt2ValueSeqInt2OptC()); | |
3368 | execute(tc_MySetInt2ValueSeqInt2OptOmitC()); | |
3369 | execute(tc_MySetInt2ValueSeqInt2iiC()); | |
3370 | //execute(tc_MySetInt2ValueSeqInt2ijC()); | |
3371 | //execute(tc_MySetInt2ValueSeqInt2jiC()); | |
3372 | execute(tc_MySetInt2ValueSeqInt2jjC()); | |
3373 | ||
3374 | execute(tc_MySetIntSeqInt2ValueOmiti()); //=== Set { integer, {integer, integer} ) | |
3375 | execute(tc_MySetIntSeqInt2ValueOmitjki()); | |
3376 | execute(tc_MySetIntSeqInt2ValueOmitjkj()); | |
3377 | ||
3378 | execute(tc_MySetIntSeqInt2ValueRawjki()); | |
3379 | execute(tc_MySetIntSeqInt2ValueRawjkj()); | |
3380 | execute(tc_MySetIntSeqInt2AfteriBeforej()); | |
3381 | //<===== {integer, integer,integer, integer} | |
3382 | execute(tc_MySetInt4Omiti()); | |
3383 | execute(tc_MySetInt4Omitj()); | |
3384 | execute(tc_MySetInt4Omitk()); | |
3385 | execute(tc_MySetInt4Omitl()); | |
3386 | execute(tc_MySetInt4ValueiOctetStr()); | |
3387 | execute(tc_MySetInt4ValuejOctetStr()); | |
3388 | execute(tc_MySetInt4ValueiRaw()); | |
3389 | execute(tc_MySetInt4ValuejRaw()); | |
3390 | execute(tc_MySetInt4ValuekRaw()); | |
3391 | execute(tc_MySetInt4ValuelRaw()); | |
3392 | execute(tc_MySetISKL_ValueSomit()); //fail | |
3393 | execute(tc_MySetISKL_ValueSIomit()); //error, DTCE | |
3394 | execute(tc_MySetISKL_ValueSISJomit());//error, DTCE | |
3395 | execute(tc_MySetISKL_ValueSraw()); //fail | |
3396 | execute(tc_MySetISOKL_ValueSomit()); //pass | |
3397 | execute(tc_MySetIOSKL_ValueSomit());//fail | |
3398 | //========= SET OF ========================= | |
3399 | //Bool: | |
3400 | execute(tc_MySetOfBoolValueSameType1()); | |
3401 | execute(tc_MySetOfBoolValueSameType2()); | |
3402 | execute(tc_MySetOfBoolValueDiffType()); | |
3403 | execute(tc_MySetOfBoolValueRaw()); | |
3404 | execute(tc_MySetOfBoolValueOmit()); | |
3405 | execute(tc_MySetOfBoolAfterOmit()); | |
3406 | execute(tc_MySetOfBoolValueAfterOmit()); | |
3407 | execute(tc_MySetOfBoolBeforeOmit2()); | |
3408 | execute(tc_MySetOfBoolValueBeforeOmit2()); | |
3409 | execute(tc_MySetOfBoolBeforeOmit1()); | |
3410 | execute(tc_MySetOfBoolValueBeforeOmit1()); | |
3411 | //NULL: | |
3412 | execute(tc_MySetOfNullValueDiffType()); | |
3413 | execute(tc_MySetOfNullValueDiffTypeRaw()); | |
3414 | execute(tc_MySetOfNullBeforeOmit2()); | |
3415 | execute(tc_MySetOfNullIntValueBeforeOmit2()); | |
3416 | execute(tc_MySetOfNullFloatValueBeforeOmit2()); | |
3417 | execute(tc_MySetOfNullBeforeOmit1()); | |
3418 | execute(tc_MySetOfNullIntValueBeforeOmit1()); | |
3419 | execute(tc_MySetOfNullFloatValueBeforeOmit1() ); | |
3420 | execute(tc_MySetOfNullFloatValueBeforeOmit1_2()); | |
3421 | execute(tc_MySetOfNullAfterOmit1()); | |
3422 | execute(tc_MySetOfNullIntValueAfterOmit1()); | |
3423 | execute(tc_MySetOfNullFloatValueAfterOmit1() ); | |
3424 | execute(tc_MySetOfNullFloatValueBeforeOmit1_2()); | |
3425 | //INTEGER: | |
3426 | execute(tc_MySetOfIntValueDiffType()); | |
3427 | execute(tc_MySetOfIntValueDiffTypeRaw()); | |
3428 | execute(tc_MySetOfIntBeforeOmit2()); | |
3429 | execute(tc_MySetOfIntIntValueBeforeOmit2()); | |
3430 | execute(tc_MySetOfIntFloatValueBeforeOmit2()); | |
3431 | execute(tc_MySetOfIntBeforeOmit1()); | |
3432 | execute(tc_MySetOfIntIntValueBeforeOmit1()); | |
3433 | execute(tc_MySetOfIntFloatValueBeforeOmit1() ); | |
3434 | execute(tc_MySetOfIntFloatValueBeforeOmit1_2()); | |
3435 | execute(tc_MySetOfIntAfterOmit1()); | |
3436 | execute(tc_MySetOfIntIntValueAfterOmit1()); | |
3437 | execute(tc_MySetOfIntFloatValueAfterOmit1() ); | |
3438 | execute(tc_MySetOfIntFloatValueAfterOmit1_2()); | |
3439 | //MyEnum | |
3440 | execute(tc_MySetOfMyEnumValueDiffType()); | |
3441 | execute(tc_MySetOfMyEnumValueDiffTypeRaw()); | |
3442 | execute(tc_MySetOfMyEnumBeforeOmit2()); | |
3443 | execute(tc_MySetOfMyEnumIntValueBeforeOmit2()); | |
3444 | execute(tc_MySetOfMyEnumFloatValueBeforeOmit2()); | |
3445 | execute(tc_MySetOfMyEnumBeforeOmit1()); | |
3446 | execute(tc_MySetOfMyEnumIntValueBeforeOmit1()); | |
3447 | execute(tc_MySetOfMyEnumFloatValueBeforeOmit1() ); | |
3448 | execute(tc_MySetOfMyEnumFloatValueBeforeOmit1_2()); | |
3449 | execute(tc_MySetOfMyEnumAfterOmit1()); | |
3450 | execute(tc_MySetOfMyEnumIntValueAfterOmit1()); | |
3451 | execute(tc_MySetOfMyEnumFloatValueAfterOmit1() ); | |
3452 | execute(tc_MySetOfMyEnumFloatValueAfterOmit1_2()); | |
3453 | //REAL (float) | |
3454 | execute(tc_MySetOfRealValueDiffType()); | |
3455 | execute(tc_MySetOfRealValueDiffTypeRaw()); | |
3456 | execute(tc_MySetOfRealBeforeOmit2()); | |
3457 | execute(tc_MySetOfRealIntValueBeforeOmit2()); | |
3458 | execute(tc_MySetOfRealFloatValueBeforeOmit2()); | |
3459 | execute(tc_MySetOfRealBeforeOmit1()); | |
3460 | execute(tc_MySetOfRealIntValueBeforeOmit1()); | |
3461 | execute(tc_MySetOfRealFloatValueBeforeOmit1() ); | |
3462 | execute(tc_MySetOfRealFloatValueBeforeOmit1_2()); | |
3463 | execute(tc_MySetOfRealAfterOmit1()); | |
3464 | execute(tc_MySetOfRealIntValueAfterOmit1()); | |
3465 | execute(tc_MySetOfRealFloatValueAfterOmit1() ); | |
3466 | execute(tc_MySetOfRealFloatValueAfterOmit1_2()); | |
3467 | ||
3468 | //========= UNION ========================== | |
3469 | execute(tc_myUnionBasicTypes_boolean3()); | |
3470 | execute(tc_myUnionBasicTypes_booleanRaw()); | |
3471 | execute(tc_myUnionBasicTypes_nullRaw()); | |
3472 | execute(tc_myUnionBasicTypes_integerRaw()); | |
3473 | execute(tc_myUnionBasicTypes_enumRaw()); | |
3474 | execute(tc_myUnionBasicTypes_realRaw()); | |
3475 | execute(tc_myUnionBasicTypes_bitstrRaw()); | |
3476 | execute(tc_myUnionBasicTypes_octetstrRaw()); | |
3477 | execute(tc_myUnionComplexTypes_omit_0_1()); | |
3478 | execute(tc_myUnionComplexTypes_omit_0_2()); | |
3479 | execute(tc_myUnionComplexTypes_omit_1_2()); | |
3480 | execute(tc_myUnionComplexTypes_omit_2_1()); | |
3481 | execute(tc_myUnionComplexTypes_omit_0_1_2()); | |
3482 | execute(tc_myUnionComplexTypes_omit_0_2_1()); | |
3483 | } | |
3484 | ||
3485 | } |