Commit | Line | Data |
---|---|---|
970ed795 | 1 | /****************************************************************************** |
d44e3c4f | 2 | * Copyright (c) 2000-2016 Ericsson Telecom AB |
970ed795 EL |
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 | |
d44e3c4f | 7 | * |
8 | * Contributors: | |
9 | * Balasko, Jeno | |
10 | * | |
970ed795 EL |
11 | ******************************************************************************/ |
12 | /* | |
13 | //AUTHOR: | |
14 | //DATE: | |
15 | //VERSION: | |
16 | */ | |
17 | module union_test | |
18 | { | |
19 | ||
20 | //========================================================================= | |
21 | // Import Part | |
22 | //========================================================================= | |
23 | import from types all; | |
24 | import from functions all; | |
25 | //========================================================================= | |
26 | // Module Parameters | |
27 | //========================================================================= | |
28 | modulepar{ | |
29 | template U tspt_union_mod4v_b := { e := first } | |
30 | template U tspt_union_mod4v_i := { e := first } | |
31 | template U tspt_union_mod4v_f := { e := first } | |
32 | template U tspt_union_mod4v_bs := { e := first } | |
33 | template U tspt_union_mod4v_os := { e := first } | |
34 | template U tspt_union_mod4v_hs := { e := first } | |
35 | template U tspt_union_mod4v_cs := { e := first } | |
36 | template U tspt_union_mod4v_r := { e := first } | |
37 | template U tspt_union_mod4v_roi := { e := first } | |
38 | template U tspt_union_mod4v_s := { e := first } | |
39 | template U tspt_union_mod4v_s_uninit := { e := first } | |
40 | template U tspt_union_mod4v_socs := { e := first } | |
41 | template U tspt_union_mod4v_e := { e := first } | |
42 | template U tspt_union_mod4v_u := { e := first } | |
43 | ||
44 | template U tspt_union_mod4a := { e := first } | |
45 | template U tspt_union_mod4q := { e := first } | |
46 | template U tspt_union_mod4o := { e := first } | |
47 | ||
48 | //union ifpresent | |
49 | template U tspt_union_mod4v_bifp := { e := first } | |
50 | template U tspt_union_mod4v_iifp := { e := first } ifpresent | |
51 | template U tspt_union_mod4v_fifp := { e := first } ifpresent | |
52 | template U tspt_union_mod4v_bsifp := { e := first } ifpresent | |
53 | template U tspt_union_mod4v_osifp := { e := first } ifpresent | |
54 | template U tspt_union_mod4v_hsifp := { e := first } ifpresent | |
55 | template U tspt_union_mod4v_csifp := { e := first } ifpresent | |
56 | template U tspt_union_mod4v_rifp := { e := first } ifpresent | |
57 | template U tspt_union_mod4v_roiifp := { e := first } ifpresent | |
58 | template U tspt_union_mod4v_sifp := { e := first } ifpresent | |
59 | template U tspt_union_mod4v_s_uninitifp := { e := first } | |
60 | template U tspt_union_mod4v_socsifp := { e := first } ifpresent | |
61 | template U tspt_union_mod4v_eifp := { e := first } ifpresent | |
62 | template U tspt_union_mod4v_uifp := { e := first } ifpresent | |
63 | ||
64 | template U tspt_union_mod4aifp := { e := first } ifpresent | |
65 | template U tspt_union_mod4qifp := { e := first } ifpresent | |
66 | template U tspt_union_mod4oifp := { e := first } ifpresent | |
67 | } | |
68 | //========================================================================= | |
69 | // Data Types | |
70 | //========================================================================= | |
71 | ||
72 | // Insert data type defintions here if applicable! | |
73 | // You can use the data_type skeleton! | |
74 | ||
75 | //========================================================================= | |
76 | // Signatures | |
77 | //========================================================================= | |
78 | ||
79 | // Insert signature definitions here if applicable! | |
80 | // You can use the signature skeleton! | |
81 | ||
82 | //========================================================================= | |
83 | //Port Types | |
84 | //========================================================================= | |
85 | ||
86 | // Insert port type defintions here if applicable! | |
87 | // You can use the port_type skeleton! | |
88 | ||
89 | //========================================================================= | |
90 | //Component Types | |
91 | //========================================================================= | |
92 | ||
93 | // Insert component type defintions here if applicable! | |
94 | // You can use the component_type skeleton! | |
95 | ||
96 | //========================================================================= | |
97 | // Constants | |
98 | //========================================================================= | |
99 | ||
100 | // Insert constants here if applicable! | |
101 | // You can use the constant skeleton! | |
102 | ||
103 | //========================================================================= | |
104 | // Templates | |
105 | //========================================================================= | |
106 | ||
107 | // Insert templates here if applicable! | |
108 | // You can use the template skeleton! | |
109 | ||
110 | //========================================================================= | |
111 | // Altsteps | |
112 | //========================================================================= | |
113 | ||
114 | // Insert altsteps here if applicable! | |
115 | // You can use the altstep skeleton! | |
116 | ||
117 | //========================================================================= | |
118 | // Functions | |
119 | //========================================================================= | |
120 | ||
121 | // Insert functions here if applicable! | |
122 | // You can use the function skeleton! | |
123 | ||
124 | //========================================================================= | |
125 | // Testcases | |
126 | //========================================================================= | |
127 | ||
128 | ||
129 | testcase tc_union_ModulePar() runs on MC { | |
130 | log(log2str(tspt_union_mod4v_b)); | |
131 | if(log2str(tspt_union_mod4v_b) == "{ b := true }" ) {setverdict(pass)} else {setverdict(fail)} | |
132 | log(log2str(tspt_union_mod4v_i)); | |
133 | if(log2str(tspt_union_mod4v_i) == "{ i := 1 }" ) {setverdict(pass)} else {setverdict(fail)} | |
134 | log(log2str(tspt_union_mod4v_f)); | |
135 | if(log2str(tspt_union_mod4v_f) == "{ f := 1.000000 }" ) {setverdict(pass)} else {setverdict(fail)} | |
136 | log(log2str(tspt_union_mod4v_bs)); | |
137 | if(log2str(tspt_union_mod4v_bs) == "{ bs := '01101'B }" ) {setverdict(pass)} else {setverdict(fail)} | |
138 | log(log2str(tspt_union_mod4v_os)); | |
139 | if(log2str(tspt_union_mod4v_os) == "{ os := 'ABBA'O }" ) {setverdict(pass)} else {setverdict(fail)} | |
140 | log(log2str(tspt_union_mod4v_hs)); | |
141 | if(log2str(tspt_union_mod4v_hs) == "{ hs := 'ABBA'H }" ) {setverdict(pass)} else {setverdict(fail)} | |
142 | log(log2str(tspt_union_mod4v_cs)); | |
143 | if(log2str(tspt_union_mod4v_cs) == "{ cs := \"ABBA\" }" ) {setverdict(pass)} else {setverdict(fail)} | |
144 | log(log2str(tspt_union_mod4v_r)); | |
145 | if(log2str(tspt_union_mod4v_r) == "{ r := { i := 1, f := 1.000000, cs := \"ABBA\", bs := '0100'B } }" ) {setverdict(pass)} else {setverdict(fail)} | |
146 | log(log2str(tspt_union_mod4v_roi)); | |
147 | if(log2str(tspt_union_mod4v_roi) == "{ roi := { 1 } }" ) {setverdict(pass)} else {setverdict(fail)} | |
148 | log(log2str(tspt_union_mod4v_s)); | |
149 | if(log2str(tspt_union_mod4v_s) == | |
150 | "{ s := { b := true, i := 1, f := 1.000000, bs := '01101'B, os := 'ABBA'O, hs := 'ABBA'H, cs := \"ABBA\" } }" ) | |
151 | {setverdict(pass)} else {setverdict(fail)} | |
152 | log(log2str(tspt_union_mod4v_s_uninit)); | |
153 | if(log2str(tspt_union_mod4v_s_uninit) == | |
154 | "{ s := { b := true, i := <uninitialized template>, f := <uninitialized template>, bs := <uninitialized template>, os := <uninitialized template>, hs := <uninitialized template>, cs := <uninitialized template> } }") | |
155 | {setverdict(pass)} else {setverdict(fail)} | |
156 | log(log2str(tspt_union_mod4v_socs)); | |
157 | if(log2str(tspt_union_mod4v_socs) == "{ socs := { \"ABBA\" } }" ) {setverdict(pass)} else {setverdict(fail)} | |
158 | log(log2str(tspt_union_mod4v_e)); | |
159 | if(log2str(tspt_union_mod4v_e) == "{ e := first (0) }" ) {setverdict(pass)} else {setverdict(fail)} | |
160 | log(log2str(tspt_union_mod4v_u)); | |
161 | if(log2str(tspt_union_mod4v_u) == "{ u := { i := 1 } }" ) {setverdict(pass)} else {setverdict(fail)} | |
162 | log(log2str(tspt_union_mod4a)); | |
163 | if(log2str(tspt_union_mod4a) == "*" ) {setverdict(pass)} else {setverdict(fail)} | |
164 | log(log2str(tspt_union_mod4q)); | |
165 | if(log2str(tspt_union_mod4q) == "?" ) {setverdict(pass)} else {setverdict(fail)} | |
166 | log(log2str(tspt_union_mod4o)); | |
167 | if(log2str(tspt_union_mod4o) == "omit" ) {setverdict(pass)} else {setverdict(fail)} | |
168 | ||
169 | log(log2str(tspt_union_mod4v_bifp)); | |
170 | if(log2str(tspt_union_mod4v_bifp) == "{ b := true } ifpresent" ) {setverdict(pass)} else {setverdict(fail)} | |
171 | log(log2str(tspt_union_mod4v_iifp)); | |
172 | if(log2str(tspt_union_mod4v_iifp) == "{ i := 1 } ifpresent" ) {setverdict(pass)} else {setverdict(fail)} | |
173 | log(log2str(tspt_union_mod4v_fifp)); | |
174 | if(log2str(tspt_union_mod4v_fifp) == "{ f := 1.000000 } ifpresent" ) {setverdict(pass)} else {setverdict(fail)} | |
175 | log(log2str(tspt_union_mod4v_bsifp)); | |
176 | if(log2str(tspt_union_mod4v_bsifp) == "{ bs := '01101'B } ifpresent" ) {setverdict(pass)} else {setverdict(fail)} | |
177 | log(log2str(tspt_union_mod4v_osifp)); | |
178 | if(log2str(tspt_union_mod4v_osifp) == "{ os := 'ABBA'O } ifpresent" ) {setverdict(pass)} else {setverdict(fail)} | |
179 | log(log2str(tspt_union_mod4v_hsifp)); | |
180 | if(log2str(tspt_union_mod4v_hsifp) == "{ hs := 'ABBA'H } ifpresent" ) {setverdict(pass)} else {setverdict(fail)} | |
181 | log(log2str(tspt_union_mod4v_csifp)); | |
182 | if(log2str(tspt_union_mod4v_csifp) == "{ cs := \"ABBA\" } ifpresent" ) {setverdict(pass)} else {setverdict(fail)} | |
183 | log(log2str(tspt_union_mod4v_rifp)); | |
184 | if(log2str(tspt_union_mod4v_rifp) == "{ r := { i := 1, f := 1.000000, cs := \"ABBA\", bs := '0100'B } } ifpresent" ) {setverdict(pass)} else {setverdict(fail)} | |
185 | log(log2str(tspt_union_mod4v_roiifp)); | |
186 | if(log2str(tspt_union_mod4v_roiifp) == "{ roi := { 1 } } ifpresent" ) {setverdict(pass)} else {setverdict(fail)} | |
187 | log(log2str(tspt_union_mod4v_sifp)); | |
188 | if(log2str(tspt_union_mod4v_sifp) == | |
189 | "{ s := { b := true, i := 1, f := 1.000000, bs := '01101'B, os := 'ABBA'O, hs := 'ABBA'H, cs := \"ABBA\" } } ifpresent" ) | |
190 | {setverdict(pass)} else {setverdict(fail)} | |
191 | log(log2str(tspt_union_mod4v_s_uninitifp)); | |
192 | if(log2str(tspt_union_mod4v_s_uninitifp) == | |
193 | "{ s := { b := true, i := <uninitialized template>, f := <uninitialized template>, bs := <uninitialized template>, os := <uninitialized template>, hs := <uninitialized template>, cs := <uninitialized template> } } ifpresent") | |
194 | {setverdict(pass)} else {setverdict(fail)} | |
195 | log(log2str(tspt_union_mod4v_socsifp)); | |
196 | if(log2str(tspt_union_mod4v_socsifp) == "{ socs := { \"ABBA\" } } ifpresent" ) {setverdict(pass)} else {setverdict(fail)} | |
197 | log(log2str(tspt_union_mod4v_eifp)); | |
198 | if(log2str(tspt_union_mod4v_eifp) == "{ e := first (0) } ifpresent" ) {setverdict(pass)} else {setverdict(fail)} | |
199 | log(log2str(tspt_union_mod4v_uifp)); | |
200 | if(log2str(tspt_union_mod4v_uifp) == "{ u := { i := 1 } } ifpresent" ) {setverdict(pass)} else {setverdict(fail)} | |
201 | log(log2str(tspt_union_mod4aifp)); | |
202 | if(log2str(tspt_union_mod4aifp) == "* ifpresent" ) {setverdict(pass)} else {setverdict(fail)} | |
203 | log(log2str(tspt_union_mod4qifp)); | |
204 | if(log2str(tspt_union_mod4qifp) == "? ifpresent" ) {setverdict(pass)} else {setverdict(fail)} | |
205 | log(log2str(tspt_union_mod4oifp)); | |
206 | if(log2str(tspt_union_mod4oifp) == "omit ifpresent" ) {setverdict(pass)} else {setverdict(fail)} | |
207 | } | |
208 | ||
209 | testcase tc_union_ModulePar_emb() runs on MC { | |
210 | log(log2str(t_ru(tspt_union_mod4v_b))); | |
211 | if(log2str(t_ru(tspt_union_mod4v_b)) == "{ u := { b := true } }" ) {setverdict(pass)} else {setverdict(fail)} | |
212 | log(log2str(t_ru(tspt_union_mod4v_i))); | |
213 | if(log2str(t_ru(tspt_union_mod4v_i)) == "{ u := { i := 1 } }" ) {setverdict(pass)} else {setverdict(fail)} | |
214 | log(log2str(t_ru(tspt_union_mod4v_f))); | |
215 | if(log2str(t_ru(tspt_union_mod4v_f)) == "{ u := { f := 1.000000 } }" ) {setverdict(pass)} else {setverdict(fail)} | |
216 | log(log2str(t_ru(tspt_union_mod4v_bs))); | |
217 | if(log2str(t_ru(tspt_union_mod4v_bs)) == "{ u := { bs := '01101'B } }" ) {setverdict(pass)} else {setverdict(fail)} | |
218 | log(log2str(t_ru(tspt_union_mod4v_os))); | |
219 | if(log2str(t_ru(tspt_union_mod4v_os)) == "{ u := { os := 'ABBA'O } }" ) {setverdict(pass)} else {setverdict(fail)} | |
220 | log(log2str(t_ru(tspt_union_mod4v_hs))); | |
221 | if(log2str(t_ru(tspt_union_mod4v_hs)) == "{ u := { hs := 'ABBA'H } }" ) {setverdict(pass)} else {setverdict(fail)} | |
222 | log(log2str(t_ru(tspt_union_mod4v_cs))); | |
223 | if(log2str(t_ru(tspt_union_mod4v_cs)) == "{ u := { cs := \"ABBA\" } }" ) {setverdict(pass)} else {setverdict(fail)} | |
224 | log(log2str(t_ru(tspt_union_mod4v_r))); | |
225 | if(log2str(t_ru(tspt_union_mod4v_r)) == "{ u := { r := { i := 1, f := 1.000000, cs := \"ABBA\", bs := '0100'B } } }" ) {setverdict(pass)} else {setverdict(fail)} | |
226 | log(log2str(t_ru(tspt_union_mod4v_roi))); | |
227 | if(log2str(t_ru(tspt_union_mod4v_roi)) == "{ u := { roi := { 1 } } }" ) {setverdict(pass)} else {setverdict(fail)} | |
228 | log(log2str(t_ru(tspt_union_mod4v_s))); | |
229 | if(log2str(t_ru(tspt_union_mod4v_s)) == | |
230 | "{ u := { s := { b := true, i := 1, f := 1.000000, bs := '01101'B, os := 'ABBA'O, hs := 'ABBA'H, cs := \"ABBA\" } } }" ) | |
231 | {setverdict(pass)} else {setverdict(fail)} | |
232 | log(log2str(t_ru(tspt_union_mod4v_s_uninit))); | |
233 | if(log2str(t_ru(tspt_union_mod4v_s_uninit)) == | |
234 | "{ u := { s := { b := true, i := <uninitialized template>, f := <uninitialized template>, bs := <uninitialized template>, os := <uninitialized template>, hs := <uninitialized template>, cs := <uninitialized template> } } }") | |
235 | {setverdict(pass)} else {setverdict(fail)} | |
236 | log(log2str(t_ru(tspt_union_mod4v_socs))); | |
237 | if(log2str(t_ru(tspt_union_mod4v_socs)) == "{ u := { socs := { \"ABBA\" } } }" ) {setverdict(pass)} else {setverdict(fail)} | |
238 | log(log2str(t_ru(tspt_union_mod4v_e))); | |
239 | if(log2str(t_ru(tspt_union_mod4v_e)) == "{ u := { e := first (0) } }" ) {setverdict(pass)} else {setverdict(fail)} | |
240 | log(log2str(t_ru(tspt_union_mod4v_u))); | |
241 | if(log2str(t_ru(tspt_union_mod4v_u)) == "{ u := { u := { i := 1 } } }" ) {setverdict(pass)} else {setverdict(fail)} | |
242 | log(log2str(t_ru(tspt_union_mod4a))); | |
243 | if(log2str(t_ru(tspt_union_mod4a)) == "{ u := * }" ) {setverdict(pass)} else {setverdict(fail)} | |
244 | log(log2str(t_ru(tspt_union_mod4q))); | |
245 | if(log2str(t_ru(tspt_union_mod4q)) == "{ u := ? }" ) {setverdict(pass)} else {setverdict(fail)} | |
246 | log(log2str(t_ru(tspt_union_mod4o))); | |
247 | if(log2str(t_ru(tspt_union_mod4o)) == "{ u := omit }" ) {setverdict(pass)} else {setverdict(fail)} | |
248 | ||
249 | log(log2str(t_ru(tspt_union_mod4v_bifp))); | |
250 | if(log2str(t_ru(tspt_union_mod4v_bifp)) == "{ u := { b := true } ifpresent }" ) {setverdict(pass)} else {setverdict(fail)} | |
251 | log(log2str(t_ru(tspt_union_mod4v_iifp))); | |
252 | if(log2str(t_ru(tspt_union_mod4v_iifp)) == "{ u := { i := 1 } ifpresent }" ) {setverdict(pass)} else {setverdict(fail)} | |
253 | log(log2str(t_ru(tspt_union_mod4v_fifp))); | |
254 | if(log2str(t_ru(tspt_union_mod4v_fifp)) == "{ u := { f := 1.000000 } ifpresent }" ) {setverdict(pass)} else {setverdict(fail)} | |
255 | log(log2str(t_ru(tspt_union_mod4v_bsifp))); | |
256 | if(log2str(t_ru(tspt_union_mod4v_bsifp)) == "{ u := { bs := '01101'B } ifpresent }" ) {setverdict(pass)} else {setverdict(fail)} | |
257 | log(log2str(t_ru(tspt_union_mod4v_osifp))); | |
258 | if(log2str(t_ru(tspt_union_mod4v_osifp)) == "{ u := { os := 'ABBA'O } ifpresent }" ) {setverdict(pass)} else {setverdict(fail)} | |
259 | log(log2str(t_ru(tspt_union_mod4v_hsifp))); | |
260 | if(log2str(t_ru(tspt_union_mod4v_hsifp)) == "{ u := { hs := 'ABBA'H } ifpresent }" ) {setverdict(pass)} else {setverdict(fail)} | |
261 | log(log2str(t_ru(tspt_union_mod4v_csifp))); | |
262 | if(log2str(t_ru(tspt_union_mod4v_csifp)) == "{ u := { cs := \"ABBA\" } ifpresent }" ) {setverdict(pass)} else {setverdict(fail)} | |
263 | log(log2str(t_ru(tspt_union_mod4v_rifp))); | |
264 | if(log2str(t_ru(tspt_union_mod4v_rifp)) == "{ u := { r := { i := 1, f := 1.000000, cs := \"ABBA\", bs := '0100'B } } ifpresent }" ) {setverdict(pass)} else {setverdict(fail)} | |
265 | log(log2str(t_ru(tspt_union_mod4v_roiifp))); | |
266 | if(log2str(t_ru(tspt_union_mod4v_roiifp)) == "{ u := { roi := { 1 } } ifpresent }" ) {setverdict(pass)} else {setverdict(fail)} | |
267 | log(log2str(t_ru(tspt_union_mod4v_sifp))); | |
268 | if(log2str(t_ru(tspt_union_mod4v_sifp)) == | |
269 | "{ u := { s := { b := true, i := 1, f := 1.000000, bs := '01101'B, os := 'ABBA'O, hs := 'ABBA'H, cs := \"ABBA\" } } ifpresent }" ) | |
270 | {setverdict(pass)} else {setverdict(fail)} | |
271 | log(log2str(t_ru(tspt_union_mod4v_s_uninitifp))); | |
272 | if(log2str(t_ru(tspt_union_mod4v_s_uninitifp)) == | |
273 | "{ u := { s := { b := true, i := <uninitialized template>, f := <uninitialized template>, bs := <uninitialized template>, os := <uninitialized template>, hs := <uninitialized template>, cs := <uninitialized template> } } ifpresent }") | |
274 | {setverdict(pass)} else {setverdict(fail)} | |
275 | log(log2str(t_ru(tspt_union_mod4v_socsifp))); | |
276 | if(log2str(t_ru(tspt_union_mod4v_socsifp)) == "{ u := { socs := { \"ABBA\" } } ifpresent }" ) {setverdict(pass)} else {setverdict(fail)} | |
277 | log(log2str(t_ru(tspt_union_mod4v_eifp))); | |
278 | if(log2str(t_ru(tspt_union_mod4v_eifp)) == "{ u := { e := first (0) } ifpresent }" ) {setverdict(pass)} else {setverdict(fail)} | |
279 | log(log2str(t_ru(tspt_union_mod4v_uifp))); | |
280 | if(log2str(t_ru(tspt_union_mod4v_uifp)) == "{ u := { u := { i := 1 } } ifpresent }" ) {setverdict(pass)} else {setverdict(fail)} | |
281 | log(log2str(t_ru(tspt_union_mod4aifp))); | |
282 | if(log2str(t_ru(tspt_union_mod4aifp)) == "{ u := * ifpresent }" ) {setverdict(pass)} else {setverdict(fail)} | |
283 | log(log2str(t_ru(tspt_union_mod4qifp))); | |
284 | if(log2str(t_ru(tspt_union_mod4qifp)) == "{ u := ? ifpresent }" ) {setverdict(pass)} else {setverdict(fail)} | |
285 | log(log2str(t_ru(tspt_union_mod4oifp))); | |
286 | if(log2str(t_ru(tspt_union_mod4oifp)) == "{ u := omit ifpresent }" ) {setverdict(pass)} else {setverdict(fail)} | |
287 | } | |
288 | //========================================================================= | |
289 | // Control | |
290 | //========================================================================= | |
291 | control { | |
292 | log("***union tests********"); | |
293 | execute(tc_union_ModulePar()); | |
294 | execute(tc_union_ModulePar_emb()); | |
295 | } | |
296 | ||
297 | } // end of module |