Sync with 5.1.0
[deliverable/titan.core.git] / regression_test / templateEnum / TtemplateEnum.ttcn
CommitLineData
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 ******************************************************************************/
8module TtemplateEnum {
9type component templateEnum_mycomp {};
10type enumerated templateEnum_myenum {xx1,xx2,xx3,xx4,xx5,xx6,xx7};
11type record templateEnum_rec {
12 templateEnum_myenum x1,
13 templateEnum_myenum x2,
14 templateEnum_myenum x3 optional };
15template templateEnum_rec templateEnum_tSpec :={ //specific values
16 x1:=xx1,
17 x2:=xx2,
18 x3:=xx3 };
19template templateEnum_rec templateEnum_tList :={ //specific value and value list
20 x1:=xx1,
21 x2:=(xx2,xx3,xx6),
22 x3:=xx3 };
23template templateEnum_rec templateEnum_tComp :={ //specific value and compl. list
24 x1:=xx1,
25 x2:=complement (xx2,xx3,xx6),
26 x3:=xx3 };
27template templateEnum_rec templateEnum_tOmit :={ //omitting values
28 x1:=xx1,
29 x2:=xx2,
30 x3:=omit } ;
31template templateEnum_rec templateEnum_tAny :={ //specific and any value
32 x1:=xx1,
33 x2:=xx2,
34 x3:=? } ;
35template templateEnum_rec templateEnum_tAnyorNone :={ //specific and AnyorNone value
36 x1:=xx1,
37 x2:=xx2,
38 x3:=* };
39template templateEnum_rec templateEnum_tIfpresent :={ //specific value and ifpresent
40 x1:=xx1,
41 x2:=xx2,
42 x3:=xx3 ifpresent };
43
44testcase templateEnumSpec() runs on templateEnum_mycomp {
45var templateEnum_rec x1,x2; //specific value
46x1:={ x1:=xx1, x2:=xx2, x3:=xx3 };
47x2:={ x1:=xx2, x2:=xx2, x3:=xx3 };
48//match
49if (match(x1,templateEnum_tSpec)) {setverdict(pass);}
50 else {setverdict(fail);}
51//no match
52if (not(match(x2,templateEnum_tSpec))) {setverdict(pass);}
53 else {setverdict(fail);}
54}
55
56testcase templateEnumList() runs on templateEnum_mycomp {
57var templateEnum_rec x1,x2,x3; //value list
58x1:={ x1:=xx1, x2:=xx6, x3:=xx3 };
59x2:={ x1:=xx1, x2:=xx7, x3:=xx3 };
60x3:={ x1:=xx2, x2:=xx6, x3:=xx3 };
61//match
62if (match(x1,templateEnum_tList)) {setverdict(pass);}
63 else {setverdict(fail);}
64//no match: out of list
65if (not(match(x2,templateEnum_tList))) {setverdict(pass);}
66 else {setverdict(fail);}
67//no match: other field
68if (not(match(x3,templateEnum_tList))) {setverdict(pass);}
69 else {setverdict(fail);}
70}
71
72testcase templateEnumComp() runs on templateEnum_mycomp {
73var templateEnum_rec x1,x2,x3; //complemented list
74x1:={ x1:=xx1, x2:=xx7, x3:=xx3 };
75x2:={ x1:=xx1, x2:=xx6, x3:=xx3 };
76x3:={ x1:=xx2, x2:=xx7, x3:=xx3 };
77//match
78if (match(x1,templateEnum_tComp)) {setverdict(pass);}
79 else {setverdict(fail);}
80//no match: in the list
81if (not(match(x2,templateEnum_tComp))) {setverdict(pass);}
82 else {setverdict(fail);}
83//no match: other field
84if (not(match(x3,templateEnum_tComp))) {setverdict(pass);}
85 else {setverdict(fail);}
86}
87
88testcase templateEnumOmit() runs on templateEnum_mycomp {
89var templateEnum_rec x1,x2,x3; //omitting value
90x1:={ x1:=xx1, x2:=xx2, x3:=omit };
91x2:={ x1:=xx1, x2:=xx2, x3:=xx3 };
92x3:={ x1:=xx2, x2:=xx2, x3:=omit };
93//match
94if (match(x1,templateEnum_tOmit)) {setverdict(pass);}
95 else {setverdict(fail);}
96//no match: not omitted
97if (not(match(x2,templateEnum_tOmit))) {setverdict(pass);}
98 else {setverdict(fail);}
99//no match: other field
100if (not(match(x3,templateEnum_tOmit))) {setverdict(pass);}
101 else {setverdict(fail);}
102}
103
104testcase templateEnumAny() runs on templateEnum_mycomp {
105var templateEnum_rec x1,x2,x3; //any value
106x1:={ x1:=xx1, x2:=xx2, x3:=xx3 };
107x2:={ x1:=xx2, x2:=xx2, x3:=xx3 };
108x3:={ x1:=xx1, x2:=xx2, x3:=omit };
109//match
110if (match(x1,templateEnum_tAny)) {setverdict(pass);}
111 else {setverdict(fail);}
112//no match: field omitted
113if (not(match(x2,templateEnum_tAny))) {setverdict(pass);}
114 else {setverdict(fail);}
115//no match: other field
116if (not(match(x3,templateEnum_tAny))) {setverdict(pass);}
117 else {setverdict(fail);}
118}
119
120testcase templateEnumAnyorNone() runs on templateEnum_mycomp {
121var templateEnum_rec x1,x2,x3; //AnyorNone value
122x1:={ x1:=xx1, x2:=xx2, x3:=omit };
123x2:={ x1:=xx1, x2:=xx2, x3:=xx3 };
124x3:={ x1:=xx2, x2:=xx2, x3:=omit };
125//match: omitted
126if (match(x1,templateEnum_tAnyorNone)) {setverdict(pass);}
127 else {setverdict(fail);}
128//match: value
129if (match(x2,templateEnum_tAnyorNone)) {setverdict(pass);}
130 else {setverdict(fail);}
131//no match: other field
132if (not(match(x3,templateEnum_tAnyorNone))) {setverdict(pass);}
133 else {setverdict(fail);}
134}
135
136testcase templateEnumIfpresent() runs on templateEnum_mycomp {
137var templateEnum_rec x1,x2,x3,x4; //ifpresent
138x1:={ x1:=xx1, x2:=xx2, x3:=xx3 };
139x2:={ x1:=xx1, x2:=xx2, x3:=omit };
140x3:={ x1:=xx2, x2:=xx2, x3:=omit };
141x4:={ x1:=xx1, x2:=xx2, x3:=xx4 };
142//match: present and match
143if (match(x1,templateEnum_tIfpresent)) {setverdict(pass);}
144 else {setverdict(fail);}
145//match: not present
146if (match(x2,templateEnum_tIfpresent)) {setverdict(pass);}
147 else {setverdict(fail);}
148//no match: present and not match
149if (not(match(x3,templateEnum_tIfpresent))) {setverdict(pass);}
150 else {setverdict(fail);}
151//no match: other field
152if (not(match(x4,templateEnum_tIfpresent))) {setverdict(pass);}
153 else {setverdict(fail);}
154}
155
156control {
157 execute(templateEnumSpec());
158 execute(templateEnumList());
159 execute(templateEnumComp());
160 execute(templateEnumOmit());
161 execute(templateEnumAny());
162 execute(templateEnumAnyorNone());
163 execute(templateEnumIfpresent());
164}
165}
This page took 0.030163 seconds and 5 git commands to generate.