1 /******************************************************************************
2 * Copyright (c) 2000-2015 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 size_of_OK { //^In TTCN-3 module `size_of_OK'://
10 type component PDTestComponent {};
12 /*--- SIZEOF ON RECORDOF --------------------------------------------------*/
14 type record of integer sirortype1
15 type record of sirortype1 sirortype2
17 const sirortype1 siro1 := {}
18 const sirortype1 siro2 := {1}
19 const sirortype1 siro3 := {1,2}
21 const sirortype2 siro4 := {{}}
22 const sirortype2 siro5 := {{},{}}
23 const sirortype2 siro6 := {{1},{1,2}}
25 modulepar integer sirocon1 := sizeof(siro1)
26 modulepar integer sirocon2 := sizeof(siro2)
27 modulepar integer sirocon3 := sizeof(siro3)
29 modulepar integer sirocon4 := sizeof(siro4)
30 modulepar integer sirocon5 := sizeof(siro5)
31 modulepar integer sirocon6 := sizeof(siro5[1])
32 modulepar integer sirocon7 := sizeof(siro6[1])
35 testcase sizeof_recof() runs on PDTestComponent{
38 and (sirocon1 == sizeof(siro1)))
40 else {setverdict(fail);}
42 and (sirocon2 == sizeof(siro2)))
44 else {setverdict(fail);}
46 and (sirocon3 == sizeof(siro3)))
48 else {setverdict(fail);}
50 and (sirocon4 == sizeof(siro4)))
52 else {setverdict(fail);}
54 and (sirocon5 == sizeof(siro5)))
56 else {setverdict(fail);}
58 and (sirocon6 == sizeof(siro5[1])))
60 else {setverdict(fail);}
62 and (sirocon7 == sizeof(siro6[1])))
64 else {setverdict(fail);}
66 var template sirortype1 tr_sirortype1 := {1, 2, 3}
67 if (sizeof(tr_sirortype1) == 3) {
76 /*--- SIZEOF ON SETOF --------------------------------------------------*/
78 type set of integer sisostype1
79 type set of sisostype1 sisostype2
81 const sisostype1 siso1 := {}
82 const sisostype1 siso2 := {1}
83 const sisostype1 siso3 := {1,2}
84 const sisostype2 siso4 := {{}}
85 const sisostype2 siso5 := {{},{}}
86 const sisostype2 siso6 := {{1},{1,2}}
88 modulepar integer sisocon1 := sizeof(siso1)
89 modulepar integer sisocon2 := sizeof(siso2)
90 modulepar integer sisocon3 := sizeof(siso3)
92 modulepar integer sisocon4 := sizeof(siso4)
93 modulepar integer sisocon5 := sizeof(siso5)
94 modulepar integer sisocon6 := sizeof(siso5[1])
95 modulepar integer sisocon7 := sizeof(siso6[1])
98 testcase sizeof_setof() runs on PDTestComponent{ //In testcase definition//
101 and (sisocon1 == sizeof(siso1)))
103 else {setverdict(fail);}
105 and (sisocon2 == sizeof(siso2)))
107 else {setverdict(fail);}
109 and (sisocon3 == sizeof(siso3)))
111 else {setverdict(fail);}
113 and (sisocon4 == sizeof(siso4)))
115 else {setverdict(fail);}
117 and (sisocon5 == sizeof(siso5)))
119 else {setverdict(fail);}
121 and (sisocon6 == sizeof(siso5[1])))
123 else {setverdict(fail);}
125 and (sisocon7 == sizeof(siso6[1])))
127 else {setverdict(fail);}
129 var template sisostype1 sisot1 := subset( 1, 2 , 3) length (3..10);
130 var template sisostype1 sisot2 := superset( 1, 2 , 3) length (1..3);
131 var template sisostype1 sisot3 := subset( 1, * , 3) length (1000); //In template variable definition// \
132 //In element 2 of subset// //warning: `\*' in subset\. This template will match everything//
133 if (sizeof(sisot1)==3)
135 else {setverdict(fail);}
136 if (sizeof(sisot2)==3)
138 else {setverdict(fail);}
139 if (sizeof(sisot3)==1000)
141 else {setverdict(fail);}
144 /*--- SIZEOF ON ARRAY --------------------------------------------------*/
146 type record of integer siarrtype
148 const siarrtype siar1[1] := {{}}
149 const siarrtype siar2[1] := {{1}}
150 const siarrtype siar3[3] := {{},{1},{1,2}}
153 modulepar integer siarcon1 := sizeof(siar1)
154 modulepar integer siarcon2 := sizeof(siar2)
155 modulepar integer siarcon3 := sizeof(siar3)
157 testcase sizeof_array() runs on PDTestComponent{
160 and (siarcon1 == sizeof(siar1)))
162 else {setverdict(fail);}
164 and (siarcon2 == sizeof(siar2)))
166 else {setverdict(fail);}
168 and (siarcon3 == sizeof(siar3)))
170 else {setverdict(fail);}
175 execute (sizeof_recof());
176 execute (sizeof_setof());
177 execute (sizeof_array());