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 .******************************************************************************/
11 .* EDML webpage: http://cpi.ericsson.se/dwaxe/
12 .* EDML2PDF converter: http://dwaxe.ericsson.se/x2pdf
13 .* EDML user guide: http://www.lmc.ericsson.se/~lmcmarg/isit/edml_ug.html
15 .* Document header information
16 :docname.Test Description
17 :docno.17/152 91-CRL 113 200/3 Uen
21 :prep.ETH/XZ Jeno Balasko
22 :appr.ETH/XZ (Gyula Koos)
25 :title.Test description of the TTCN-3 Semantic Analyzer: Values, Value Lists, Ranges, Length, Dimensions, Durations and Subtyping
27 .*---------------------------------------------------------------------*
29 .*---------------------------------------------------------------------*
30 .*---------------------------------------------------------------------*
32 .*---------------------------------------------------------------------*
34 REV DATE PREPARED CHANGE
35 __________________________________________________
36 PA1 2005-02-17 ESNDPAL New document for TITAN R6
37 A 2005-03-18 ESNDPAL Approved after review
38 B 2005-12-16 EKRISZA Updates for TITAN R6D
39 C 2006-07-31 EDMDELI Updates for TITAN R6E
40 D 2007-03-06 EJNOSZA Updates for TITAN R7A
41 PE1 2008-01-22 EFERKOV Changes for TITAN R7C
42 PE2 2008-01-25 ETHNBA Updates for TITAN R7C
43 F 2009-06-11 EKRISZA Name correction
44 G 2009-09-10 EKRISZA New tests for modified templates.
45 H 2010-01-25 EKRISZA Refreshed version number
46 I 2010-07-02 EKRISZA version update
47 J 2010-07-02 EKRISZA version update
48 K 2010-12-14 EKRISZA version update
49 PL1 2011-02-23 ESZABRE Constant folding for indexes
50 L 2011-02-23 EKRISZA removed line ending whitespaces
51 M 2011-10-10 EKRISZA version update
52 A 2011-12-12 EKRISZA Updated for release
53 A 2012-06-27 EFERKOV Updated for release
54 A 2013-01-17 EKRIPND Updated for release
56 .*---------------------------------------------------------------------*
58 .*---------------------------------------------------------------------*
59 The purpose of this Test Description is to define and describe the function
60 test activity for the Semantic Analyser functionality of the TTCN-3 compiler:
61 :nl.SA-6/x: Values, Value Lists, Ranges, Length, Dimensions, Durations and Subtyping.
62 :p.The specification of the test cases can be found in this document.
63 .*---------------------------------------------------------------------*
65 .*---------------------------------------------------------------------*
66 .*---------------------------------------------------------------------*
68 .*---------------------------------------------------------------------*
69 No specific hardware requirement.
70 .*---------------------------------------------------------------------*
72 .*---------------------------------------------------------------------*
73 Tests shall be carried out on the following platforms:
75 :li D='1.'.Solaris 8 (Sun OS 5.8) (gcc 3.0.4)
76 :li D='2.'.SUSE Linux Enterprise server 8 (2.4.19-4GB) (gcc 3.2)
77 :li D='3.'.CYGWIN_NT-5.0 (Cygwin DLL: 1.5.12) on Windows 2000 (gcc 3.3.3)
79 .*---------------------------------------------------------------------*
81 .*---------------------------------------------------------------------*
82 The test environment had been setup in CVS. The tester program is stored in:
83 :nl.TTCNv3/function_test/Tools/SAtester.pl
84 :nl.Test cases are stored with extension .script in the directory:
85 :nl.TTCNv3/function_test/Semantic_Analyser/
86 .*---------------------------------------------------------------------*
88 .*---------------------------------------------------------------------*
89 Install proper TITAN binaries on the used platforms and make sure that
90 your environment settings are correct:
92 :li D='1.'.TTCN3_DIR is set
93 :li D='2.'.$TTCN3_DIR/bin is added to the PATH variable
94 :li D='3.'.$TTCN3_DIR/lib is added to the LD_LIBRARY_PATH variable
95 :li D='4.'.Perl 5.6.0 or higher is available on the platform
96 :li D='5.'.Create a symlink to your Perl binary into the directory where the
97 test cases are stored:
98 :nl.ln -s <your Perl> perl
100 .*---------------------------------------------------------------------*
102 .*---------------------------------------------------------------------*
103 A tester program had been written in Perl especially for the Semantic Analyser
104 tests. For the list of command line parameters, type 'SAtester.pl -help', for the
105 complete documentation, type 'SAtester.pl -doc'.
106 :p.Test cases are specified in the Test Description documents in EDML format.
107 The tester program parses these files and generates the TTCN-3/ASN.1 modules, then
108 calls the compiler to compile them. The result printout is then matched against
109 different patterns to be able to set the verdict. Test cases contain not only
110 the source modules, but the patterns as well.
111 :p.The tester program allows one-by-one execution of test cases and batched
113 :p.NOTE: the tester program requires Perl 5.6.0 or higher.
114 .*---------------------------------------------------------------------*
116 .*---------------------------------------------------------------------*
117 Ref [1]: SA-6/x: Values, Value Lists, Ranges, Length, Dimensions, Durations and Subtyping
118 .*---------------------------------------------------------------------*
120 .*---------------------------------------------------------------------*
121 .*---------------------------------------------------------------------*
122 :h3.Allowed subtyping
123 .*---------------------------------------------------------------------*
125 This test case group covers the requirement SA-6/1.
127 Strategy: TTCN-3 Core Language side:26, Table 3.
128 :nl.All not allowed subtyping shall be tested based in the table.
129 For all types in the table, there shall be one case when the subtyping is
130 used directly with the type name and one for a named type that has a root
131 type of the tested type, for example:
133 type integer i1 length(10);
134 type i1 i2 length(10);
136 Both types are defined in one module.
138 TODO: port, component and default tests are missing.
140 NOTE: the address type is a user defined type so we won't test it.
142 .*---------------------------------------------------------------------*
143 :h4. Allowed subtyping - integer length
144 .*---------------------------------------------------------------------*
147 <TC - Allowed subtyping - integer length>
151 <MODULE TTCN Temp Temp.ttcn>
154 type integer FaultyInt1 length(10);
156 type Int FaultyInt2 length(4);
160 <RESULT IF_PASS COUNT 2>
161 (?im)Length.+?subtyping.+?not.+?allowed
164 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
166 <RESULT IF_PASS COUNT 2>
173 .*---------------------------------------------------------------------*
174 :h4. Allowed subtyping - float length
175 .*---------------------------------------------------------------------*
178 <TC - Allowed subtyping - float length>
182 <MODULE TTCN Temp Temp.ttcn>
185 type float FaultyFloat1 length(10);
187 type Float FaultyFloat2 length(4);
191 <RESULT IF_PASS COUNT 2>
192 (?im)Length.+?subtyping.+?not.+?allowed
195 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
197 <RESULT IF_PASS COUNT 2>
204 .*---------------------------------------------------------------------*
205 :h4. Allowed subtyping - boolean range
206 .*---------------------------------------------------------------------*
209 <TC - Allowed subtyping - boolean range>
213 <MODULE TTCN Temp Temp.ttcn>
216 type boolean FaultyBool1 (false..true);
218 type Bool FaultyBool2 (false..true);
219 type boolean FaultyBool3 (true..true);
220 type boolean FaultyBool4 (true..false);
224 <RESULT IF_PASS COUNT 4>
225 (?im)Range.+?subtyping.+?not.+?allowed
228 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
230 <RESULT IF_PASS COUNT 4>
237 .*---------------------------------------------------------------------*
238 :h4. Allowed subtyping - boolean length
239 .*---------------------------------------------------------------------*
242 <TC - Allowed subtyping - boolean length>
246 <MODULE TTCN Temp Temp.ttcn>
249 type boolean FaultyBool1 length(1);
251 type Bool FaultyBool2 length(2);
255 <RESULT IF_PASS COUNT 2>
256 (?im)Length.+?subtyping.+?not.+?allowed
259 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
261 <RESULT IF_PASS COUNT 2>
268 .*---------------------------------------------------------------------*
269 :h4. Allowed subtyping - objid range
270 .*---------------------------------------------------------------------*
273 <TC - Allowed subtyping - objid range>
277 <MODULE TTCN Temp Temp.ttcn>
280 type objid FaultyObjid1 (objid{0 1 2} .. objid{0 1 4});
282 type Objid FaultyObjid2 (objid{0 1 2} .. objid{0 1 4});
283 type objid FaultyObjid3 (objid{0 2 4} .. objid{0 1 2});
287 <RESULT IF_PASS COUNT 3>
288 (?im)subtyping.+?not.+?allowed
291 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
293 <RESULT IF_PASS COUNT 3>
300 .*---------------------------------------------------------------------*
301 :h4. Allowed subtyping - objid length
302 .*---------------------------------------------------------------------*
305 <TC - Allowed subtyping - objid length>
309 <MODULE TTCN Temp Temp.ttcn>
312 type objid FaultyObjid1 length(3);
314 type Objid FaultyObjid2 length(4)
318 <RESULT IF_PASS COUNT 2>
319 (?im)subtyping.+?not.+?allowed
322 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
324 <RESULT IF_PASS COUNT 2>
331 .*---------------------------------------------------------------------*
332 :h4. Allowed subtyping - verdicttype range
333 .*---------------------------------------------------------------------*
336 <TC - Allowed subtyping - verdicttype range>
340 <MODULE TTCN Temp Temp.ttcn>
343 type verdicttype FaultyVerdict1 (pass..error);
344 type verdicttype Verdict;
345 type verdicttype FaultyVerdict2 (pass..fail);
349 <RESULT IF_PASS COUNT 2>
350 (?im)subtyping.+?not.+?allowed
353 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
355 <RESULT IF_PASS COUNT 2>
362 .*---------------------------------------------------------------------*
363 :h4. Allowed subtyping - verdicttype length
364 .*---------------------------------------------------------------------*
367 <TC - Allowed subtyping - verdicttype length>
371 <MODULE TTCN Temp Temp.ttcn>
374 type verdicttype FaultyVerdict1 length(1);
375 type verdicttype Verdict;
376 type Verdict FaultyVerdict2 length(2);
380 <RESULT IF_PASS COUNT 2>
381 (?im)subtyping.+?not.+?allowed
384 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
386 <RESULT IF_PASS COUNT 2>
393 .*---------------------------------------------------------------------*
394 :h4. Allowed subtyping - bitstring range
395 .*---------------------------------------------------------------------*
398 <TC - Allowed subtyping - bitstring range>
402 <MODULE TTCN Temp Temp.ttcn>
405 type bitstring FaultyBS1 ('0000'B .. '0111'B);
407 type BS FaultyBS2 ('1000'B .. '1111'B);
411 <RESULT IF_PASS COUNT 2>
412 (?im)subtyping.+?not.+?allowed
415 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
417 <RESULT IF_PASS COUNT 2>
424 .*---------------------------------------------------------------------*
425 :h4. Allowed subtyping - hexstring range
426 .*---------------------------------------------------------------------*
429 <TC - Allowed subtyping - hexstring range>
433 <MODULE TTCN Temp Temp.ttcn>
436 type hexstring FaultyHS1 ('000'H .. 'A53'H);
438 type HS FaultyHS2 ('100'H .. 'FFF'H);
442 <RESULT IF_PASS COUNT 2>
443 (?im)subtyping.+?not.+?allowed
446 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
448 <RESULT IF_PASS COUNT 2>
455 .*---------------------------------------------------------------------*
456 :h4. Allowed subtyping - octetstring range
457 .*---------------------------------------------------------------------*
460 <TC - Allowed subtyping - octetstring range>
464 <MODULE TTCN Temp Temp.ttcn>
467 type octetstring FaultyOS1 ('0000'O .. 'AB53'O);
469 type OS FaultyOS2 ('00'O .. '7F'O);
473 <RESULT IF_PASS COUNT 2>
474 (?im)subtyping.+?not.+?allowed
477 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
479 <RESULT IF_PASS COUNT 2>
486 .*---------------------------------------------------------------------*
487 :h4. Allowed subtyping - record range
488 .*---------------------------------------------------------------------*
491 <TC - Allowed subtyping - record range>
495 <MODULE TTCN Temp Temp.ttcn>
503 const Record c_lower := {0, 0.0};
504 const Record c_upper := {10, 10.0};
506 type Record FaultyRecord1 (0 .. 10);
507 type Record FaultyRecord2 (c_lower .. c_upper);
511 <RESULT IF_PASS COUNT 2>
512 (?im)subtyping.+?not.+?allowed
514 <RESULT IF_PASS COUNT 1>
515 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
517 <RESULT IF_PASS COUNT 2>
524 .*---------------------------------------------------------------------*
525 :h4. Allowed subtyping - record length
526 .*---------------------------------------------------------------------*
529 <TC - Allowed subtyping - record length>
533 <MODULE TTCN Temp Temp.ttcn>
540 type Record FaultyRecord length(12);
544 <RESULT IF_PASS COUNT 1>
545 (?im)subtyping.+?not.+?allowed
547 <RESULT IF_PASS COUNT 1>
548 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
550 <RESULT IF_PASS COUNT 1>
557 .*---------------------------------------------------------------------*
558 :h4. Allowed subtyping - record of range
559 .*---------------------------------------------------------------------*
562 <TC - Allowed subtyping - record of range>
566 <MODULE TTCN Temp Temp.ttcn>
569 type record of integer RecordOfInt;
571 const RecordOfInt c_lower := {0, 0};
572 const RecordOfInt c_upper := {10, 10};
574 type RecordOfInt FaultyRecordOfInt1 (0 .. 10);
575 type RecordOfInt FaultyRecordOfInt2 (c_lower .. c_upper);
579 <RESULT IF_PASS COUNT 2>
580 (?im)subtyping.+?not.+?allowed
582 <RESULT IF_PASS COUNT 1>
583 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
585 <RESULT IF_PASS COUNT 2>
592 .*---------------------------------------------------------------------*
593 :h4. Allowed subtyping - set range
594 .*---------------------------------------------------------------------*
597 <TC - Allowed subtyping - set range>
601 <MODULE TTCN Temp Temp.ttcn>
609 const Set c_lower := {0, 0.0};
610 const Set c_upper := {10, 10.0};
612 type Set FaultySet1 (0 .. 10);
613 type Set FaultySet2 (c_lower .. c_upper);
617 <RESULT IF_PASS COUNT 2>
618 (?im)Value.+?list.+?notation.+?cannot.+?used
620 <RESULT IF_PASS COUNT 2>
621 (?im)subtyping.+?not.+?allowed
623 <RESULT IF_PASS COUNT 1>
624 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
626 <RESULT IF_PASS COUNT 4>
633 .*---------------------------------------------------------------------*
634 :h4. Allowed subtyping - set length
635 .*---------------------------------------------------------------------*
638 <TC - Allowed subtyping - set length>
642 <MODULE TTCN Temp Temp.ttcn>
649 type Set FaultySet length(12);
653 <RESULT IF_PASS COUNT 1>
654 (?im)subtyping.+?not.+?allowed
656 <RESULT IF_PASS COUNT 1>
657 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
659 <RESULT IF_PASS COUNT 1>
666 .*---------------------------------------------------------------------*
667 :h4. Allowed subtyping - set of range
668 .*---------------------------------------------------------------------*
671 <TC - Allowed subtyping - set of range>
675 <MODULE TTCN Temp Temp.ttcn>
678 type set of integer SetOfInt;
680 const SetOfInt c_lower := {0, 0};
681 const SetOfInt c_upper := {10, 10};
683 type SetOfInt FaultySetOfInt1 (0 .. 10);
684 type SetOfInt FaultySetOfInt2 (c_lower .. c_upper);
688 <RESULT IF_PASS COUNT 2>
689 (?im)subtyping.+?not.+?allowed
691 <RESULT IF_PASS COUNT 1>
692 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
694 <RESULT IF_PASS COUNT 2>
701 .*---------------------------------------------------------------------*
702 :h4. Allowed subtyping - enumerated range
703 .*---------------------------------------------------------------------*
706 <TC - Allowed subtyping - enumerated range>
710 <MODULE TTCN Temp Temp.ttcn>
713 type enumerated Enum { EnumValue0(0), EnumValue1(1), EnumValue2(2), EnumValue3(3) };
714 type Enum FaultyEnum1 (0..2);
715 type Enum FaultyEnum2 (EnumValue0..EnumValue2);
719 <RESULT IF_PASS COUNT 2>
720 (?im)subtyping.+?not.+?allowed
722 <RESULT IF_PASS COUNT 1>
723 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
725 <RESULT IF_PASS COUNT 2>
732 .*---------------------------------------------------------------------*
733 :h4. Allowed subtyping - enumerated length
734 .*---------------------------------------------------------------------*
737 <TC - Allowed subtyping - enumerated length>
741 <MODULE TTCN Temp Temp.ttcn>
744 type enumerated Enum { EnumValue0(0), EnumValue1(1), EnumValue2(2), EnumValue3(3) };
745 type Enum FaultyEnum length(4);
749 <RESULT IF_PASS COUNT 1>
750 (?im)subtyping.+?not.+?allowed
752 <RESULT IF_PASS COUNT 1>
753 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
755 <RESULT IF_PASS COUNT 1>
762 .*---------------------------------------------------------------------*
763 :h4. Allowed subtyping - union range
764 .*---------------------------------------------------------------------*
767 <TC - Allowed subtyping - union range>
771 <MODULE TTCN Temp Temp.ttcn>
779 const Union c_lower := {intField := 0};
780 const Union c_upper := {intField := 10};
782 type Union FaultyUnion1 (0 .. 10);
783 type Union FaultyUnion2 (c_record_lower .. c_record_upper);
787 <RESULT IF_PASS COUNT 2>
788 (?im)subtyping.+?not.+?allowed
790 <RESULT IF_PASS COUNT 1>
791 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
793 <RESULT IF_PASS COUNT 2>
800 .*---------------------------------------------------------------------*
801 :h4. Allowed subtyping - union length
802 .*---------------------------------------------------------------------*
805 <TC - Allowed subtyping - union length>
809 <MODULE TTCN Temp Temp.ttcn>
816 type Union FaultyUnion length(8);
820 <RESULT IF_PASS COUNT 1>
821 (?im)subtyping.+?not.+?allowed
823 <RESULT IF_PASS COUNT 1>
824 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
826 <RESULT IF_PASS COUNT 1>
833 .*---------------------------------------------------------------------*
834 :h4. TTCN-3::FunctionReference->Subtyping: length
835 .*---------------------------------------------------------------------*
837 <TC - TTCN-3::FunctionReference->Subtyping: length>
840 <MODULE TTCN Temp Temp.ttcn>
842 type function fntype() length(10);
845 <RESULT IF_FAIL COUNT 1>
846 (?im)\berror\b.+?syntax.+?error
848 <RESULT IF_FAIL POSITIVE>
849 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
854 .*---------------------------------------------------------------------*
855 :h4. TTCN-3::FunctionReference->Subtyping: range
856 .*---------------------------------------------------------------------*
858 <TC - TTCN-3::FunctionReference->Subtyping: range>
861 <MODULE TTCN Temp Temp.ttcn>
866 type function fntype() (fn1..fn3);
869 <RESULT IF_FAIL COUNT 1>
870 (?im)\berror\b.+?syntax.+?error
872 <RESULT IF_FAIL POSITIVE>
873 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
878 .*---------------------------------------------------------------------*
880 .*---------------------------------------------------------------------*
882 This test case group covers the requirement SA-6/2.
884 Strategy: the values in the list shall be a true subset of the values defined by the root type
885 All occurances shall be tested, where such a notation can be used.
887 .*---------------------------------------------------------------------*
888 :h3.Mixing different subset notations
889 .*---------------------------------------------------------------------*
891 This test case group covers the requirement SA-6/3.
893 Strategy: Mixing different subset notations is not allowed for the specific type
894 All occurances shall be tested, where such a notation can be used.
896 .*---------------------------------------------------------------------*
897 :h3.Invalid subset notation
898 .*---------------------------------------------------------------------*
900 This test case group covers the requirement SA-6/4.
902 Strategy: the value notation used for subtyping is invalid due to:
904 :li D='-'.duplicated element in a list of values
905 :li D='-'.ranges/lists have intersection (common elements)
906 :li D='-'.lower boundary is greater than upper boundary
907 :li D='-'.the boundaries shall evaluate to valid character positions according to the coded character set table(s) of the type (for example the given position shall not be empty)
909 All occurances shall be tested, where such a notation can be used.
911 .*---------------------------------------------------------------------*
913 .*---------------------------------------------------------------------*
914 .*---------------------------------------------------------------------*
915 :h3.Mixing value notations
916 .*---------------------------------------------------------------------*
918 This test case group covers the requirement SA-6/5.
920 Strategy: check that mixing assignment and value notations are detected
921 for all types that allow the usage of at least one of the notations
922 (that is value, assignment). All occurances shall be tested, where
923 such a notation can be used.
925 Tested: - record and set in function
927 TODO: only a couple of TCs are written, this shall be implemented ones the SA performs the checking and not the parser.
929 .*---------------------------------------------------------------------*
930 :h4.Mixing value notations - assignment notation in value list (record const in function)
931 .*---------------------------------------------------------------------*
933 <TC - Mixing value notations - assignment notation in value list (record const in function)>
936 <MODULE TTCN x x.ttcn>
945 // NOTE: catched by the parser
946 // TR 709: Not allowed value notation reporting
947 var Record FaultyRecord := { 10, F:= 0.0, "error" };
952 <RESULT IF_FAIL COUNT 1>
953 (?im)\berror\b.+?syntax.+?error.+?unexpected.+?:=
958 .*---------------------------------------------------------------------*
959 :h4.Mixing value notations - assignment notation in value list (set const in function)
960 .*---------------------------------------------------------------------*
962 <TC - Mixing value notations - assignment notation in value list (set const in function)>
965 <MODULE TTCN x x.ttcn>
974 // NOTE: catched by the parser
975 // TR 709: Not allowed value notation reporting
976 const setType s := { 10, F:= 0.0, "error" };
982 <RESULT IF_FAIL COUNT 1>
983 (?im)\berror\b.+?syntax.+?error.+?unexpected.+?:=
988 .*---------------------------------------------------------------------*
989 :h3.Allowed value notations
990 .*---------------------------------------------------------------------*
992 This test case group covers the requirement SA-6/6.
995 All occurances shall be tested, where such a notation can be used:
997 :li D='-'.in constants and variables
998 :li D='-'.in templates (static, modified, dynamic)
1000 All elements in the tables below are tested in 2 situations (whenever it is allowed):
1001 in module definition part and within a function.
1004 :nl.for constants and variables:
1005 :nl.=================================================================================
1006 :nl. type assignment | value list | array | value assignment notation
1007 :nl.=================================================================================
1008 :nl.basic types T T O T
1009 :nl.---------------------------------------------------------------------------------
1010 :nl.string types T T - T
1011 :nl.---------------------------------------------------------------------------------
1013 :nl.---------------------------------------------------------------------------------
1015 :nl.---------------------------------------------------------------------------------
1017 :nl.---------------------------------------------------------------------------------
1018 :nl.record of T - - O
1019 :nl.---------------------------------------------------------------------------------
1021 :nl.---------------------------------------------------------------------------------
1022 :nl.enumerated T T O T
1023 :nl.---------------------------------------------------------------------------------
1025 :nl.for templates and dynamic templates:
1026 :nl.=================================================================================
1027 :nl. type assignment | value list | array | value assignment notation
1028 :nl.=================================================================================
1029 :nl.basic types T T O T
1030 :nl.---------------------------------------------------------------------------------
1031 :nl.string types T T - T
1032 :nl.---------------------------------------------------------------------------------
1034 :nl.---------------------------------------------------------------------------------
1036 :nl.---------------------------------------------------------------------------------
1038 :nl.---------------------------------------------------------------------------------
1039 :nl.record of T - - O
1040 :nl.---------------------------------------------------------------------------------
1042 :nl.---------------------------------------------------------------------------------
1043 :nl.enumerated T T O T
1044 :nl.---------------------------------------------------------------------------------
1046 :nl.for modified templates:
1047 :nl.=================================================================================
1048 :nl. type assignment | value list | value assignment notation
1049 :nl.=================================================================================
1050 :nl.basic types T T T
1051 :nl.---------------------------------------------------------------------------------
1052 :nl.string types T T T
1053 :nl.---------------------------------------------------------------------------------
1055 :nl.---------------------------------------------------------------------------------
1057 :nl.---------------------------------------------------------------------------------
1059 :nl.---------------------------------------------------------------------------------
1061 :nl.---------------------------------------------------------------------------------
1063 :nl.---------------------------------------------------------------------------------
1064 :nl.enumerated T T T
1065 :nl.---------------------------------------------------------------------------------
1066 :nl.(array notation is not used for modified templates)
1070 basic types: integer, float, boolean, objid, verdicttype, anytype, address, port, component, default
1071 string types: bitstring, hexstring, charstring, octetstring, universal charstring
1073 T: type compatibility error, shall not be tested here
1074 :nl.O: semantic error, shall be tested here
1075 :nl.-: allowed, so cannot be negative-tested
1077 Tested: The upper tables for:
1079 :li D='-'.constants in definition part and function
1080 :li D='-'.templates in definition part
1083 TODO: - Dinamic template tests are not ready.
1086 :nl.- type "anytype" haven't implemented yet. Can't use array notation for type "port".
1087 :nl.- the type "address" in the TITAN implementation is a user defined type, so we won't test it.
1089 .*---------------------------------------------------------------------*
1090 :h4.Allowed value notations - array notation (const integer in def. part)
1091 .*---------------------------------------------------------------------*
1093 <TC - Allowed value notations - array notation (const integer in def. part)>
1096 <MODULE TTCN x x.ttcn>
1099 const integer r:= 233;
1101 const integer f:= r[0];
1105 <RESULT IF_PASS COUNT 1>
1106 (?im)Type.+?cannot.+?be.+?indexed
1108 <RESULT IF_PASS COUNT 1>
1109 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1111 <RESULT IF_PASS COUNT 1>
1117 .*---------------------------------------------------------------------*
1118 :h4.Allowed value notations - array notation (const integer in function)
1119 .*---------------------------------------------------------------------*
1121 <TC - Allowed value notations - array notation (const integer in function)>
1124 <MODULE TTCN x x.ttcn>
1128 const integer r:= 233;
1129 const integer f:= r[0];
1133 <RESULT IF_PASS COUNT 1>
1134 (?im)Type.+?cannot.+?be.+?indexed
1136 <RESULT IF_PASS COUNT 1>
1137 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1139 <RESULT IF_PASS COUNT 1>
1145 .*---------------------------------------------------------------------*
1146 :h4.Allowed value notations - array notation (template integer in def. part)
1147 .*---------------------------------------------------------------------*
1149 <TC - Allowed value notations - array notation (template integer in def. part)>
1152 <MODULE TTCN x x.ttcn>
1155 template integer r:= 233;
1156 template integer f:= r[0];
1160 <RESULT IF_PASS COUNT 1>
1161 (?im)Type.+?cannot.+?be.+?indexed
1163 <RESULT IF_PASS COUNT 1>
1164 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1166 <RESULT IF_PASS COUNT 1>
1172 .*---------------------------------------------------------------------*
1173 :h4.Allowed value notations - array notation (const float in def. part)
1174 .*---------------------------------------------------------------------*
1176 <TC - Allowed value notations - array notation (const float in def. part)>
1179 <MODULE TTCN x x.ttcn>
1182 const float r:= 23.3;
1184 const float f:= r[0];
1189 <RESULT IF_PASS COUNT 1>
1190 (?im)Type.+?cannot.+?be.+?indexed
1192 <RESULT IF_PASS COUNT 1>
1193 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1195 <RESULT IF_PASS COUNT 1>
1201 .*---------------------------------------------------------------------*
1202 :h4.Allowed value notations - array notation (const float in function)
1203 .*---------------------------------------------------------------------*
1205 <TC - Allowed value notations - array notation (const float in function)>
1208 <MODULE TTCN x x.ttcn>
1212 const float r:= 23.3;
1213 const float f:= r[0];
1218 <RESULT IF_PASS COUNT 1>
1219 (?im)Type.+?cannot.+?be.+?indexed
1221 <RESULT IF_PASS COUNT 1>
1222 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1224 <RESULT IF_PASS COUNT 1>
1230 .*---------------------------------------------------------------------*
1231 :h4.Allowed value notations - array notation (template float in def. part)
1232 .*---------------------------------------------------------------------*
1234 <TC - Allowed value notations - array notation (template float in def. part)>
1237 <MODULE TTCN x x.ttcn>
1240 template float r:= 23.3;
1242 template float f:= r[0];
1247 <RESULT IF_PASS COUNT 1>
1248 (?im)Type.+?cannot.+?be.+?indexed
1250 <RESULT IF_PASS COUNT 1>
1251 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1253 <RESULT IF_PASS COUNT 1>
1259 .*---------------------------------------------------------------------*
1260 :h4.Allowed value notations - array notation (const boolean in def. part)
1261 .*---------------------------------------------------------------------*
1263 <TC - Allowed value notations - array notation (const boolean in def. part)>
1266 <MODULE TTCN x x.ttcn>
1269 const boolean r:= true;
1271 const boolean f:= r[0];
1276 <RESULT IF_PASS COUNT 1>
1277 (?im)Type.+?cannot.+?be.+?indexed
1279 <RESULT IF_PASS COUNT 1>
1280 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1282 <RESULT IF_PASS COUNT 1>
1288 .*---------------------------------------------------------------------*
1289 :h4.Allowed value notations - array notation (const boolean in function)
1290 .*---------------------------------------------------------------------*
1292 <TC - Allowed value notations - array notation (const boolean in function)>
1295 <MODULE TTCN x x.ttcn>
1299 const boolean r:= true;
1300 const boolean f:= r[0];
1305 <RESULT IF_PASS COUNT 1>
1306 (?im)Type.+?cannot.+?be.+?indexed
1308 <RESULT IF_PASS COUNT 1>
1309 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1311 <RESULT IF_PASS COUNT 1>
1317 .*---------------------------------------------------------------------*
1318 :h4.Allowed value notations - array notation (template boolean in def. part)
1319 .*---------------------------------------------------------------------*
1321 <TC - Allowed value notations - array notation (template boolean in def. part)>
1324 <MODULE TTCN x x.ttcn>
1327 template boolean r:= true;
1329 template boolean f:= r[0];
1334 <RESULT IF_PASS COUNT 1>
1335 (?im)Type.+?cannot.+?be.+?indexed
1337 <RESULT IF_PASS COUNT 1>
1338 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1340 <RESULT IF_PASS COUNT 1>
1346 .*---------------------------------------------------------------------*
1347 :h4.Allowed value notations - array notation (const objid in def. part)
1348 .*---------------------------------------------------------------------*
1350 <TC - Allowed value notations - array notation (const objid in def. part)>
1353 <MODULE TTCN x x.ttcn>
1356 const objid r:= objid{ 0 4 };
1358 const objid f:= r[0];
1363 <RESULT IF_PASS COUNT 1>
1364 (?im)Type.+?cannot.+?be.+?indexed
1366 <RESULT IF_PASS COUNT 1>
1367 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1369 <RESULT IF_PASS COUNT 1>
1375 .*---------------------------------------------------------------------*
1376 :h4.Allowed value notations - array notation (const objid in function)
1377 .*---------------------------------------------------------------------*
1379 <TC - Allowed value notations - array notation (const objid in function)>
1382 <MODULE TTCN x x.ttcn>
1386 const objid r:= objid{ 0 4 };
1387 const objid f:= r[0];
1392 <RESULT IF_PASS COUNT 1>
1393 (?im)Type.+?cannot.+?be.+?indexed
1395 <RESULT IF_PASS COUNT 1>
1396 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1398 <RESULT IF_PASS COUNT 1>
1404 .*---------------------------------------------------------------------*
1405 :h4.Allowed value notations - array notation (template objid in def. part)
1406 .*---------------------------------------------------------------------*
1408 <TC - Allowed value notations - array notation (template objid in def. part)>
1411 <MODULE TTCN x x.ttcn>
1414 template objid r:= objid{ 0 4 };
1416 template objid f:= r[0];
1421 <RESULT IF_PASS COUNT 1>
1422 (?im)Type.+?cannot.+?be.+?indexed
1424 <RESULT IF_PASS COUNT 1>
1425 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1427 <RESULT IF_PASS COUNT 1>
1433 .*---------------------------------------------------------------------*
1434 :h4.Allowed value notations - array notation (const verdicttype in def. part)
1435 .*---------------------------------------------------------------------*
1437 <TC - Allowed value notations - array notation (const verdicttype in def. part)>
1440 <MODULE TTCN x x.ttcn>
1443 const verdicttype r:= pass;
1445 const verdicttype f:= r[0];
1450 <RESULT IF_PASS COUNT 1>
1451 (?im)Type.+?cannot.+?be.+?indexed
1453 <RESULT IF_PASS COUNT 1>
1454 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1456 <RESULT IF_PASS COUNT 1>
1462 .*---------------------------------------------------------------------*
1463 :h4.Allowed value notations - array notation (const verdicttype in function)
1464 .*---------------------------------------------------------------------*
1466 <TC - Allowed value notations - array notation (const verdicttype in function)>
1469 <MODULE TTCN x x.ttcn>
1473 const verdicttype r:= pass;
1474 const verdicttype f:= r[0];
1479 <RESULT IF_PASS COUNT 1>
1480 (?im)Type.+?cannot.+?be.+?indexed
1482 <RESULT IF_PASS COUNT 1>
1483 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1485 <RESULT IF_PASS COUNT 1>
1491 .*---------------------------------------------------------------------*
1492 :h4.Allowed value notations - array notation (template verdicttype in def. part)
1493 .*---------------------------------------------------------------------*
1495 <TC - Allowed value notations - array notation (template verdicttype in def. part)>
1498 <MODULE TTCN x x.ttcn>
1501 template verdicttype r:= pass;
1503 template verdicttype f:= r[0];
1508 <RESULT IF_PASS COUNT 1>
1509 (?im)Type.+?cannot.+?be.+?indexed
1511 <RESULT IF_PASS COUNT 1>
1512 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1514 <RESULT IF_PASS COUNT 1>
1520 .*---------------------------------------------------------------------*
1521 :h4.Allowed value notations - array notation (const component in def. part)
1522 .*---------------------------------------------------------------------*
1524 <TC - Allowed value notations - array notation (const component in def. part)>
1527 <MODULE TTCN x x.ttcn>
1530 type component c{ };
1537 <RESULT IF_PASS COUNT 1>
1538 (?im)Type.+?cannot.+?be.+?indexed
1540 <RESULT IF_PASS COUNT 1>
1541 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1543 <RESULT IF_PASS COUNT 1>
1549 .*---------------------------------------------------------------------*
1550 :h4.Allowed value notations - array notation (const component in function)
1551 .*---------------------------------------------------------------------*
1553 <TC - Allowed value notations - array notation (const component in function)>
1556 <MODULE TTCN x x.ttcn>
1559 type component c{ };
1567 <RESULT IF_PASS COUNT 1>
1568 (?im)Type.+?cannot.+?be.+?indexed
1570 <RESULT IF_PASS COUNT 1>
1571 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1573 <RESULT IF_PASS COUNT 1>
1579 .*---------------------------------------------------------------------*
1580 :h4.Allowed value notations - array notation (template component in def. part)
1581 .*---------------------------------------------------------------------*
1583 <TC - Allowed value notations - array notation (template component in def. part)>
1586 <MODULE TTCN x x.ttcn>
1589 type component c{ };
1590 template c r:= null;
1592 template c f:= r[0];
1596 <RESULT IF_PASS COUNT 1>
1597 (?im)Type.+?cannot.+?be.+?indexed
1599 <RESULT IF_PASS COUNT 1>
1600 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1602 <RESULT IF_PASS COUNT 1>
1608 .*---------------------------------------------------------------------*
1609 :h4.Allowed value notations - array notation (const default in def. part)
1610 .*---------------------------------------------------------------------*
1612 <TC - Allowed value notations - array notation (const default in def. part)>
1615 <MODULE TTCN x x.ttcn>
1618 const default r:= null;
1620 const default f:= r[0];
1624 <RESULT IF_PASS COUNT 1>
1625 (?im)Type.+?cannot.+?be.+?indexed
1627 <RESULT IF_PASS COUNT 1>
1628 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1630 <RESULT IF_PASS COUNT 1>
1636 .*---------------------------------------------------------------------*
1637 :h4.Allowed value notations - array notation (const default in function)
1638 .*---------------------------------------------------------------------*
1640 <TC - Allowed value notations - array notation (const default in function)>
1643 <MODULE TTCN x x.ttcn>
1647 const default r:= null;
1648 const default f:= r[0];
1652 <RESULT IF_PASS COUNT 1>
1653 (?im)Type.+?cannot.+?be.+?indexed
1655 <RESULT IF_PASS COUNT 1>
1656 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1658 <RESULT IF_PASS COUNT 1>
1664 .*---------------------------------------------------------------------*
1665 :h4.Allowed value notations - array notation (template default in def. part)
1666 .*---------------------------------------------------------------------*
1668 <TC - Allowed value notations - array notation (template default in def. part)>
1671 <MODULE TTCN x x.ttcn>
1674 template default r:= null;
1676 template default f:= r[0];
1680 <RESULT IF_PASS COUNT 1>
1681 (?im)Type.+?cannot.+?be.+?indexed
1683 <RESULT IF_PASS COUNT 1>
1684 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1686 <RESULT IF_PASS COUNT 1>
1692 .*---------------------------------------------------------------------*
1693 :h4.Allowed value notations - array notation (template bitstring in def. part)
1694 .*---------------------------------------------------------------------*
1696 <TC - Allowed value notations - array notation (template bitstring in def. part)>
1699 <MODULE TTCN x x.ttcn>
1702 template bitstring r:= '01011'B;
1703 template bitstring f:= r[0];
1708 <RESULT IF_PASS COUNT 1>
1709 (?im)type.+?cannot.+?be.+?indexed
1711 <RESULT IF_PASS COUNT 1>
1712 (?im)\bNotify\b.+?\bCode\b.+?\bnot\b.+?\bgenerated\b
1714 <RESULT IF_PASS COUNT 1>
1720 .*---------------------------------------------------------------------*
1721 :h4.Allowed value notations - array notation (template hexstring in def. part)
1722 .*---------------------------------------------------------------------*
1724 <TC - Allowed value notations - array notation (template hexstring in def. part)>
1727 <MODULE TTCN x x.ttcn>
1730 template hexstring r:= 'AB01D'H;
1731 template hexstring f:= r[0];
1736 <RESULT IF_PASS COUNT 1>
1737 (?im)type.+?cannot.+?be.+?indexed
1739 <RESULT IF_PASS COUNT 1>
1740 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1742 <RESULT IF_PASS COUNT 1>
1748 .*---------------------------------------------------------------------*
1749 :h4.Allowed value notations - array notation (template octetstring in def. part)
1750 .*---------------------------------------------------------------------*
1752 <TC - Allowed value notations - array notation (template octetstring in def. part)>
1755 <MODULE TTCN x x.ttcn>
1758 template octetstring r:= '000000'O;
1759 template octetstring f:= r[0];
1764 <RESULT IF_PASS COUNT 1>
1765 (?im)type.+?cannot.+?be.+?indexed
1767 <RESULT IF_PASS COUNT 1>
1768 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1770 <RESULT IF_PASS COUNT 1>
1776 .*---------------------------------------------------------------------*
1777 :h4.Allowed value notations - array notation (template charstring in def. part)
1778 .*---------------------------------------------------------------------*
1780 <TC - Allowed value notations - array notation (template charstring in def. part)>
1783 <MODULE TTCN x x.ttcn>
1786 template charstring r:= "aiyyo";
1787 template charstring f:= r[0];
1792 <RESULT IF_PASS COUNT 1>
1793 (?im)type.+?cannot.+?be.+?indexed
1795 <RESULT IF_PASS COUNT 1>
1796 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1798 <RESULT IF_PASS COUNT 1>
1804 .*---------------------------------------------------------------------*
1805 :h4.Allowed value notations - array notation (template universal charstring in def. part)
1806 .*---------------------------------------------------------------------*
1808 <TC - Allowed value notations - array notation (template universal charstring in def. part)>
1811 <MODULE TTCN x x.ttcn>
1814 template universal charstring r:= "aiyyo" & char( 0, 0, 1, 113) & "yo";
1815 template universal charstring f:= r[0];
1820 <RESULT IF_PASS COUNT 1>
1821 (?im)type.+?cannot.+?be.+?indexed
1823 <RESULT IF_PASS COUNT 1>
1824 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1826 <RESULT IF_PASS COUNT 1>
1832 .*---------------------------------------------------------------------*
1833 :h4.Allowed value notations - array notation (const record in def. part)
1834 .*---------------------------------------------------------------------*
1836 <TC - Allowed value notations - array notation (const record in def. part)>
1839 <MODULE TTCN x x.ttcn>
1842 type record Record {
1848 const Record r := { 1, 0.0, "error" };
1849 const integer f := r[0];
1853 <RESULT IF_PASS COUNT 1>
1854 (?im)Type.+?cannot.+?be.+?indexed
1856 <RESULT IF_PASS COUNT 1>
1857 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1859 <RESULT IF_PASS COUNT 1>
1865 .*---------------------------------------------------------------------*
1866 :h4.Allowed value notations - array notation (const record in function)
1867 .*---------------------------------------------------------------------*
1869 <TC - Allowed value notations - array notation (const record in function)>
1872 <MODULE TTCN x x.ttcn>
1875 type record Record {
1883 const Record r := { 1, 0.0, "aiyyo" };
1884 const integer f := r[0];
1888 <RESULT IF_PASS COUNT 1>
1889 (?im)Type.+?cannot.+?be.+?indexed
1891 <RESULT IF_PASS COUNT 1>
1892 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1894 <RESULT IF_PASS COUNT 1>
1900 .*---------------------------------------------------------------------*
1901 :h4.Allowed value notations - array notation (template record in def. part)
1902 .*---------------------------------------------------------------------*
1904 <TC - Allowed value notations - array notation (template record in def. part)>
1907 <MODULE TTCN x x.ttcn>
1916 template recT r := { I:= 1, F:= 0.0, CS:= "aiyyo" };
1917 template recT f := r[0];
1921 <RESULT IF_PASS COUNT 1>
1922 (?im)Type.+?cannot.+?be.+?indexed
1924 <RESULT IF_PASS COUNT 1>
1925 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1927 <RESULT IF_PASS COUNT 1>
1933 .*---------------------------------------------------------------------*
1934 :h4.Allowed value notations - value assignment notation (const record in def. part)
1935 .*---------------------------------------------------------------------*
1937 <TC - Allowed value notations - value assignment notation (const record in def. part)>
1940 <MODULE TTCN x x.ttcn>
1957 <RESULT IF_FAIL POSITIVE>
1958 (?is)\berror: Indexed assignment notation cannot be used for record type `@x.recT'
1963 .*---------------------------------------------------------------------*
1964 :h4.Allowed value notations - value assignment notation (const record in function)
1965 .*---------------------------------------------------------------------*
1967 <TC - Allowed value notations - value assignment notation (const record in function)>
1970 <MODULE TTCN x x.ttcn>
1988 <RESULT IF_FAIL POSITIVE>
1989 (?is)\berror: Indexed assignment notation cannot be used for record type `@x.recT'
1994 .*---------------------------------------------------------------------*
1995 :h4.Allowed value notations - value assignment notation (template record in def. part)
1996 .*---------------------------------------------------------------------*
1998 <TC - Allowed value notations - value assignment notation (template record in def. part)>
2001 <MODULE TTCN x x.ttcn>
2018 <RESULT IF_FAIL COUNT 1>
2019 (?im)\berror\b.+?assignment.+?notation.+?with.+?array.+?indices.+?cannot.+?be.+?used.+?for.+?record.+?type
2021 <RESULT IF_FAIL COUNT 1>
2027 .*---------------------------------------------------------------------*
2028 :h4.Allowed value notations - value assignment notation (timer-array in function)
2029 .*---------------------------------------------------------------------*
2031 <TC - Allowed value notations - value assignment notation (timer-array in function)>
2034 <MODULE TTCN x x.ttcn>
2038 timer timerarray[3] := {[0] := 1, [1] := 2, [2] := 3};
2042 <RESULT IF_FAIL COUNT 3>
2043 (?is)\bA value or expression of type float was expected
2045 <RESULT IF_FAIL COUNT 3>
2051 .*---------------------------------------------------------------------*
2052 :h4.Allowed value notations - value assignment notation (port-array in function)
2053 .*---------------------------------------------------------------------*
2055 <TC - Allowed value notations - value assignment notation (port-array in function)>
2058 <MODULE TTCN x x.ttcn>
2061 type port myport message{inout charstring};
2063 type component self_comp{
2064 port myport ports[3];
2067 function MyFunc() runs on self_comp{
2068 ports := {[0] := 1.0, [1] := 2.0, [2] := 3.0};
2072 <RESULT IF_FAIL COUNT 1>
2073 (?im)\berror\b.+?Reference.+?to.+?a.+?variable.+?or.+?template.+?variable.+?was.+?expected
2075 <RESULT IF_FAIL COUNT 1>
2081 .*---------------------------------------------------------------------*
2082 :h4.Allowed value notations - value assignment notation (modified template record in def. part)
2083 .*---------------------------------------------------------------------*
2085 <TC - Allowed value notations - value assignment notation (modified template record in def. part)>
2088 <MODULE TTCN x x.ttcn>
2103 template recT f modifies r:= { [0]:= 1, [2]:= 0.9 };
2107 <RESULT IF_FAIL COUNT 1>
2108 (?im)\berror\b.+?assignment.+?notation.+?with.+?array.+?indices.+?cannot.+?be.+?used.+?for.+?record.+?type
2110 <RESULT IF_FAIL COUNT 1>
2116 .*---------------------------------------------------------------------*
2117 :h4.Allowed value notations - value list notation (modified template record in def. part)
2118 .*---------------------------------------------------------------------*
2120 <TC - Allowed value notations - value list notation (modified template record in def. part)>
2123 <MODULE TTCN x x.ttcn>
2138 template recT f modifies r:= ({ f1:= 1, f2:= 0.9 }, { f1 := 1, f2 := 0.9, f3 := "pppp" });
2142 <RESULT IF_FAIL COUNT 1>
2143 (?im)\berror\b.+?field.+?f3.+?is.+?missing.+?from.+?template.+?for.+?record.+?type
2145 <RESULT IF_FAIL COUNT 1>
2151 .*---------------------------------------------------------------------*
2152 :h4.Allowed value notations - complement value list notation (modified template record in def. part)
2153 .*---------------------------------------------------------------------*
2155 <TC - Allowed value notations - complement value list notation (modified template record in def. part)>
2158 <MODULE TTCN x x.ttcn>
2173 template recT f modifies r:= complement({ f1:= 1, f2:= 0.9 }, { f1:= 1, f2:= 0.9, f3 := "pppp" });
2177 <RESULT IF_FAIL COUNT 1>
2178 (?im)\berror\b.+?field.+?f3.+?is.+?missing.+?from.+?template.+?for.+?record.+?type
2180 <RESULT IF_FAIL COUNT 1>
2186 .*---------------------------------------------------------------------*
2187 :h4.Allowed value notations - value list (const set in def. part)
2188 .*---------------------------------------------------------------------*
2190 <TC - Allowed value notations - value list (const set in def. part)>
2193 <MODULE TTCN x x.ttcn>
2202 const Set s := { 3.14, "error", 9 };
2206 <RESULT IF_PASS COUNT 1>
2207 (?im)value.+?list.+?notation.+?cannot.+?be.+?used
2209 <RESULT IF_PASS COUNT 1>
2210 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2212 <RESULT IF_PASS COUNT 1>
2218 .*---------------------------------------------------------------------*
2219 :h4.Allowed value notations - value list (const set in function)
2220 .*---------------------------------------------------------------------*
2222 <TC - Allowed value notations - value list (const set in function)>
2225 <MODULE TTCN x x.ttcn>
2236 const Set s := { 3.14, "error", 9 };
2240 <RESULT IF_PASS COUNT 1>
2241 (?im)value.+?list.+?notation.+?cannot.+?be.+?used
2243 <RESULT IF_PASS COUNT 1>
2244 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2246 <RESULT IF_PASS COUNT 1>
2252 .*---------------------------------------------------------------------*
2253 :h4.Allowed value notations - value list (template set in def. part)
2254 .*---------------------------------------------------------------------*
2256 <TC - Allowed value notations - value list (template set in def. part)>
2259 <MODULE TTCN x x.ttcn>
2268 template Set s := { 3.14, "error", 9 };
2272 <RESULT IF_PASS COUNT 1>
2273 (?im)Value.+?list.+?notation.+?not.+?allowed
2275 <RESULT IF_PASS COUNT 1>
2276 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2278 <RESULT IF_PASS COUNT 1>
2284 .*---------------------------------------------------------------------*
2285 :h4.Allowed value notations - value list (modified template set in def. part)
2286 .*---------------------------------------------------------------------*
2288 <TC - Allowed value notations - value list (modified template set in def. part)>
2291 <MODULE TTCN x x.ttcn>
2300 template setT s:= { F:= 3.14, CS:= "aiyyo", I:= 9 };
2302 template setT f modifies s:= { 0, 8.8, "gerappa" };
2306 <RESULT IF_PASS COUNT 1>
2307 (?im)Value.+?list.+?notation.+?not.+?allowed
2309 <RESULT IF_PASS COUNT 1>
2310 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2312 <RESULT IF_PASS COUNT 1>
2318 .*---------------------------------------------------------------------*
2319 :h4.Allowed value notations - array notation (const set in def. part)
2320 .*---------------------------------------------------------------------*
2322 <TC - Allowed value notations - array notation (const set in def. part)>
2325 <MODULE TTCN x x.ttcn>
2340 const integer FaultyField := cSet[0];
2344 <RESULT IF_PASS COUNT 1>
2345 (?im)Type.+?cannot.+?be.+?indexed
2347 <RESULT IF_PASS COUNT 1>
2348 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2350 <RESULT IF_PASS COUNT 1>
2356 .*---------------------------------------------------------------------*
2357 :h4.Allowed value notations - array notation (const set in function)
2358 .*---------------------------------------------------------------------*
2360 <TC - Allowed value notations - array notation (const set in function)>
2363 <MODULE TTCN x x.ttcn>
2380 const integer FaultyField := cSet[0];
2384 <RESULT IF_PASS COUNT 1>
2385 (?im)Type.+?cannot.+?be.+?indexed
2387 <RESULT IF_PASS COUNT 1>
2388 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2390 <RESULT IF_PASS COUNT 1>
2396 .*---------------------------------------------------------------------*
2397 :h4.Allowed value notations - array notation (template set in def. part)
2398 .*---------------------------------------------------------------------*
2400 <TC - Allowed value notations - array notation (template set in def. part)>
2403 <MODULE TTCN x x.ttcn>
2412 template Set cSet := {
2418 template integer FaultyField := cSet[0];
2422 <RESULT IF_PASS COUNT 1>
2423 (?im)Type.+?cannot.+?be.+?indexed
2425 <RESULT IF_PASS COUNT 1>
2426 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2428 <RESULT IF_PASS COUNT 1>
2434 .*---------------------------------------------------------------------*
2435 :h4.Allowed value notations - value assignment notation (const set in def. part)
2436 .*---------------------------------------------------------------------*
2438 <TC - Allowed value notations - value assignment notation (const set in def. part)>
2441 <MODULE TTCN x x.ttcn>
2458 <RESULT IF_FAIL POSITIVE>
2464 .*---------------------------------------------------------------------*
2465 :h4.Allowed value notations - value assignment notation (template set in def. part)
2466 .*---------------------------------------------------------------------*
2468 <TC - Allowed value notations - value assignment notation (template set in def. part)>
2471 <MODULE TTCN x x.ttcn>
2488 <RESULT IF_FAIL COUNT 1>
2489 (?im)\berror\b.+?assignment.+?notation.+?with.+?array.+?indices.+?cannot.+?be.+?used.+?for.+?set.+?type
2491 <RESULT IF_FAIL COUNT 1>
2497 .*---------------------------------------------------------------------*
2498 :h4.Allowed value notations - value assignment notation (modified template set in def. part)
2499 .*---------------------------------------------------------------------*
2501 <TC - Allowed value notations - value assignment notation (modified template set in def. part)>
2504 <MODULE TTCN x x.ttcn>
2519 // TR 711: A nonexistent reference is reported only once
2520 template setT f modifies r:= { [0]:= 1, [2]:= 0.9 };
2524 <RESULT IF_FAIL COUNT 1>
2525 (?im)\berror\b.+?assignment.+?notation.+?with.+?array.+?indices.+?cannot.+?be.+?used.+?for.+?set.+?type
2527 <RESULT IF_FAIL COUNT 1>
2533 .*---------------------------------------------------------------------*
2534 :h4.Allowed value notations - array notation (const union in def. part)
2535 .*---------------------------------------------------------------------*
2537 <TC - Allowed value notations - array notation (const union in def. part)>
2540 <MODULE TTCN x x.ttcn>
2548 const u r := { f_int:=1 };
2553 <RESULT IF_PASS COUNT 1>
2554 (?im)Type.+?cannot.+?be.+?indexed
2556 <RESULT IF_PASS COUNT 1>
2557 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2559 <RESULT IF_PASS COUNT 1>
2565 .*---------------------------------------------------------------------*
2566 :h4.Allowed value notations - array notation (const union in function)
2567 .*---------------------------------------------------------------------*
2569 <TC - Allowed value notations - array notation (const union in function)>
2572 <MODULE TTCN x x.ttcn>
2581 const u r := { f_int:=1 };
2586 <RESULT IF_PASS COUNT 1>
2587 (?im)Type.+?cannot.+?be.+?indexed
2589 <RESULT IF_PASS COUNT 1>
2590 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2592 <RESULT IF_PASS COUNT 1>
2598 .*---------------------------------------------------------------------*
2599 :h4.Allowed value notations - array notation (template union in def. part)
2600 .*---------------------------------------------------------------------*
2602 <TC - Allowed value notations - array notation (template union in def. part)>
2605 <MODULE TTCN x x.ttcn>
2613 template u r := { f_int:=1 };
2615 template u f:= r[0];
2618 <RESULT IF_PASS COUNT 1>
2619 (?im)Type.+?cannot.+?be.+?indexed
2621 <RESULT IF_PASS COUNT 1>
2622 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2624 <RESULT IF_PASS COUNT 1>
2630 .*---------------------------------------------------------------------*
2631 :h4.Allowed value notations - value assignment notation (const union in def. part)
2632 .*---------------------------------------------------------------------*
2634 <TC - Allowed value notations - value assignment notation (const union in def. part)>
2637 <MODULE TTCN x x.ttcn>
2652 <RESULT IF_FAIL POSITIVE>
2653 (?is)\berror: union value was expected for type `@x.uniT'
2655 <RESULT IF_FAIL COUNT 1>
2661 .*---------------------------------------------------------------------*
2662 :h4.Allowed value notations - value assignment notation (const union in function)
2663 .*---------------------------------------------------------------------*
2665 <TC - Allowed value notations - value assignment notation (const union in function)>
2668 <MODULE TTCN x x.ttcn>
2684 <RESULT IF_FAIL POSITIVE>
2685 (?is)\berror: union value was expected for type `@x.uniT'
2687 <RESULT IF_FAIL COUNT 1>
2693 .*---------------------------------------------------------------------*
2694 :h4.Allowed value notations - value assignment notation (template union in def. part)
2695 .*---------------------------------------------------------------------*
2697 <TC - Allowed value notations - value assignment notation (template union in def. part)>
2700 <MODULE TTCN x x.ttcn>
2709 // TR 710: Incorrect error message
2716 <RESULT IF_FAIL COUNT 1>
2717 (?im)\berror\b.+?assignment.+?notation.+?with.+?array.+?indices.+?cannot.+?be.+?used.+?for.+?union.+?type
2719 <RESULT IF_FAIL COUNT 1>
2725 .*---------------------------------------------------------------------*
2726 :h4.Allowed value notations - value assignment notation (modified template union in def. part)
2727 .*---------------------------------------------------------------------*
2729 <TC - Allowed value notations - value assignment notation (modified template union in def. part)>
2732 <MODULE TTCN x x.ttcn>
2740 template u r := { f_int:=1 };
2742 // TR 710: Incorrect error message
2743 template u f modifies r:= { [0]:= 2 };
2747 <RESULT IF_FAIL COUNT 1>
2748 (?im)\berror\b.+?assignment.+?notation.+?with.+?array.+?indices.+?cannot.+?be.+?used.+?for.+?union.+?type
2750 <RESULT IF_FAIL COUNT 1>
2756 .*---------------------------------------------------------------------*
2757 :h4.Allowed value notations - array notation (const enumerated in def. part)
2758 .*---------------------------------------------------------------------*
2760 <TC - Allowed value notations - array notation (const enumerated in def. part)>
2763 <MODULE TTCN x x.ttcn>
2766 type enumerated enum { ONE(1), TWO(2), THREE(3) };
2770 const enum f:= r[0];
2774 <RESULT IF_PASS COUNT 1>
2775 (?im)Type.+?cannot.+?be.+?indexed
2777 <RESULT IF_PASS COUNT 1>
2778 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2780 <RESULT IF_PASS COUNT 1>
2786 .*---------------------------------------------------------------------*
2787 :h4.Allowed value notations - array notation (const enumerated in function)
2788 .*---------------------------------------------------------------------*
2790 <TC - Allowed value notations - array notation (const enumerated in function)>
2793 <MODULE TTCN x x.ttcn>
2796 type enumerated enum { ONE(1), TWO(2), THREE(3) };
2800 const enum f:= r[0];
2804 <RESULT IF_PASS COUNT 1>
2805 (?im)Type.+?cannot.+?be.+?indexed
2807 <RESULT IF_PASS COUNT 1>
2808 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2810 <RESULT IF_PASS COUNT 1>
2816 .*---------------------------------------------------------------------*
2817 :h4.Allowed value notations - array notation (template enumerated in def. part)
2818 .*---------------------------------------------------------------------*
2820 <TC - Allowed value notations - array notation (template enumerated in def. part)>
2823 <MODULE TTCN x x.ttcn>
2826 type enumerated enum { ONE(1), TWO(2), THREE(3) };
2828 template enum r:= ONE;
2830 template enum f:= r[0];
2834 <RESULT IF_PASS COUNT 1>
2835 (?im)Type.+?cannot.+?be.+?indexed
2837 <RESULT IF_PASS COUNT 1>
2838 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2840 <RESULT IF_PASS COUNT 1>
2846 .*---------------------------------------------------------------------*
2847 :h4.Value notations - value assignment notation (timer-array in function)
2848 .*---------------------------------------------------------------------*
2850 <TC - Value notations - value assignment notation (timer-array in function)>
2853 <MODULE TTCN x x.ttcn>
2857 timer timerarray[3] := {[0] := 1.0, [1] := 2.0, [2] := 3.0, [3] := 4.0};
2858 timer timerarray2[3] := {[0.0] := 1.0, [1] := 2.0, [2] := 3.0};
2859 timer timerarray3[3] := {[0] := 1.0, [1] := 2.0};
2860 timer timerarray4[3] := {[-1] := 1.0, [0] := 2.0, [1] := 3.0};
2861 timer timerarray5[3] := {[0] := 1.0, [0] := 2.0, [1] := 3.0};
2865 <RESULT IF_FAIL COUNT 1>
2866 (?im)\berror: Array index overflow: the index value must be at most `2' instead of `3'
2868 <RESULT IF_FAIL COUNT 1>
2869 (?im)\berror: A value or expression of type integer was expected
2871 <RESULT IF_FAIL COUNT 1>
2872 (?im)\berror: Array index underflow: the index value must be at least `0' instead of `-1'
2874 <RESULT IF_FAIL COUNT 1>
2875 (?im)\berror: Duplicate index value `0' for timer array elements `2' and `1'
2877 <RESULT IF_FAIL COUNT 4>
2883 .*---------------------------------------------------------------------*
2884 :h4.Value notations - value assignment notation (index out of bound)
2885 .*---------------------------------------------------------------------*
2887 <TC - Value notations - value assignment notation (index out of bound)>
2890 <MODULE TTCN x x.ttcn>
2893 type integer myIntType[3];
2896 var myIntType myintarray := {[0] := 0, [1] := 1, [2]:= 2};
2897 var myIntType myintarray2 := {[0] := 0, [1] := 1};
2898 var myIntType myintarray3 := {[0] := 0, [1] := 1, [2]:= 2, [2] := 3};
2901 var myIntType myintarray4 := {[i] := 0, [i] := 1, [i]:= 2};
2906 <RESULT IF_PASS COUNT 1>
2907 (?im)\berror: Duplicate index value `2' for components `4' and `3'
2909 <RESULT IF_PASS COUNT 1>
2912 <RESULT IF_PASS POSITIVE>
2913 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2918 .*---------------------------------------------------------------------*
2919 :h4.Value notations - value assignment notation (negative index is used)
2920 .*---------------------------------------------------------------------*
2922 <TC - Value notations - value assignment notation (negative index is used)>
2925 <MODULE TTCN x x.ttcn>
2928 type integer myIntType[3];
2931 var myIntType myintarray := {[0] := 0, [-1] := 1, [2]:= 2};
2932 var myIntType myintarray2 := {[0.0] := 0, [1.0] := 1, [2.3]:= 2};
2934 var integer i := -56;
2935 var myIntType myintarray3 := {[i] := 0, [i] := 1, [i]:= 2};
2940 <RESULT IF_PASS COUNT 1>
2941 (?im)\berror: Array index underflow: the index value must be at least `0' instead of `-1'
2943 <RESULT IF_PASS COUNT 3>
2944 (?im)\berror: A value or expression of type integer was expected
2946 <RESULT IF_PASS POSITIVE>
2947 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2949 <RESULT IF_PASS COUNT 4>
2955 .*---------------------------------------------------------------------*
2956 :h4.Value notations - value assignment notation (structured types)
2957 .*---------------------------------------------------------------------*
2959 <TC - Value notations - value assignment notation (structured types)>
2962 <MODULE TTCN x x.ttcn>
2965 type integer myIntType[3];
2966 type record myTestRec
2972 type record of myTestRec myTestRecList;
2974 type record of integer myIntegerList;
2976 type record myTestRec2
2978 myIntegerList myintegerlist,
2985 var myTestRecList mytestreclist := {[0] := {intlist := {[0]:=0, [1]:= 1, [2]:=2}, myint:= 1}};
2986 var myTestRecList mytestreclist2 := {[0] := {intlist := {[0]:=0, [1]:= 1, [-2]:=2}, myint:= 1}};
2987 var myTestRecList mytestreclist3 := {[0] := {intlist := {[0]:=0, [1]:= 1, [2.0]:=2}, myint:= 1}};
2988 var myTestRecList mytestreclist4 := {[0] := {intlist := {[0]:=0, [1]:= 1}, myint:= 1}};
2989 var myTestRecList mytestreclist5 := {[0] := {intlist := {[0]:=0, [1]:= 1, [2]:=2, [3] := 3}, myint:= 1}};
2990 var myTestRecList mytestreclist6 := {[0] := {intlist := {[0]:=0, [1]:= 1, [1]:=2}, myint:= 1}};
2992 var myTestRec2 mytestrec := {myintegerlist := {[0]:= 0, [1] := 1, [2] := 2}, myint := 1};
2993 var myTestRec2 mytestrec2 := {myintegerlist := {[0.0]:= 0, [1] := 1, [2] := 2}, myint := 1};
2994 var myTestRec2 mytestrec3 := {myintegerlist := {[0]:= 0, [-1] := 1, [2] := 2}, myint := 1};
2995 var myTestRec2 mytestrec4 := {myintegerlist := {[0]:= 0, [1] := 1, [1] := 2}, myint := 1};
3000 <RESULT IF_PASS COUNT 1>
3001 (?im)\berror: Array index underflow: the index value must be at least `0' instead of `-2'
3003 <RESULT IF_PASS COUNT 2>
3004 (?im)\berror: A value or expression of type integer was expected
3006 <RESULT IF_PASS COUNT 1>
3007 (?im)\berror: Array index overflow: the index value must be at most `2' instead of `3'
3009 <RESULT IF_PASS COUNT 2>
3010 (?im)\berror: Duplicate index value `1' for components `3' and `2'
3012 <RESULT IF_PASS COUNT 1>
3013 (?im)\berror: A non-negative integer value was expected for indexing type `@x.myIntegerList' instead of `-1'
3015 <RESULT IF_PASS POSITIVE>
3016 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3018 <RESULT IF_PASS COUNT 7>
3024 .*---------------------------------------------------------------------*
3025 :h4.Value notations - value assignment notation (modify template)
3026 .*---------------------------------------------------------------------*
3028 <TC - Value notations - value assignment notation (modify template)>
3031 <MODULE TTCN x x.ttcn>
3034 type record of integer MyIntType;
3035 template MyIntType T1 := {0, 1, 2};
3036 template MyIntType T2 modifies T1:= {[0] := 1, [0]:= 5};
3037 template MyIntType T3 modifies T1:= {[0] := 1, [-5]:= 5};
3041 <RESULT IF_PASS COUNT 1>
3042 (?im)\berror: Duplicate index value `0' for components `2' and `1'
3044 <RESULT IF_PASS COUNT 1>
3045 (?im)\berror: A non-negative integer value was expected for indexing type `@x.MyIntType' instead of `-5'
3047 <RESULT IF_PASS POSITIVE>
3048 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3050 <RESULT IF_PASS COUNT 2>
3056 .*---------------------------------------------------------------------*
3057 :h4.Value notations - value assignment notation (modify template2)
3058 .*---------------------------------------------------------------------*
3060 <TC - Value notations - value assignment notation (modify template2)>
3063 <MODULE TTCN x x.ttcn>
3066 type integer IntType[3];
3068 type record of integer MyIntType;
3069 template MyIntType T1 := {0, 1, 2};
3070 template MyIntType T2 modifies T1:= {[0.1] := 1, [1]:= 5};
3071 template MyIntType T3 modifies T1:= {[0] := 1, [1.0]:= 5};
3075 var IntType myintarray := {['00'O] := 0, [1.5] := 1, [2]:= 2};
3081 <RESULT IF_PASS COUNT 4>
3082 (?im)\bA value or expression of type integer was expected
3084 <RESULT IF_PASS POSITIVE>
3085 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3087 <RESULT IF_PASS COUNT 4>
3093 .*---------------------------------------------------------------------*
3094 :h3. Value notations - Value notations shall assign a value to a specific element only once
3095 .*---------------------------------------------------------------------*
3096 This test case group covers the requirement SA-6/7.
3098 Startegy: In one value notation an element can get value only once.
3099 All occurances shall be tested, where such a notation can be used.
3103 :li D='-'.record and set constants in definition part and function
3104 :li D='-'.record modified template in definition part
3105 :li D='-'.enumerated type in definition part
3108 .*---------------------------------------------------------------------*
3109 :h4.Value notations - A value notation shall assign a value to a specific element only once - duplicated element assignment in record (const in def. part)
3110 .*---------------------------------------------------------------------*
3112 <TC - A value notation shall assign a value to a specific element only once - duplicated element assignment in record (const in def. part)>
3115 <MODULE TTCN x x.ttcn>
3118 type record Record {
3124 const Record wrongRecord := {
3133 <RESULT IF_PASS COUNT 1>
3134 (?im)Duplicate.+?record.+?field
3136 <RESULT IF_PASS COUNT 1>
3137 (?im)Field.+?already.+?given
3139 <RESULT IF_PASS COUNT 1>
3140 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3142 <RESULT IF_PASS COUNT 1>
3148 .*---------------------------------------------------------------------*
3149 :h4.Value notations - A value notation shall assign a value to a specific element only once - duplicated element assignment in record (const in function)
3150 .*---------------------------------------------------------------------*
3152 <TC - A value notation shall assign a value to a specific element only once - duplicated element assignment in record (const in function)>
3155 <MODULE TTCN x x.ttcn>
3158 type record Record {
3166 const Record wrongRecord := {
3175 <RESULT IF_PASS COUNT 1>
3176 (?im)Duplicate.+?record.+?field
3178 <RESULT IF_PASS COUNT 1>
3179 (?im)Field.+?already.+?given
3181 <RESULT IF_PASS COUNT 1>
3182 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3184 <RESULT IF_PASS COUNT 1>
3190 .*---------------------------------------------------------------------*
3191 :h4.Value notations - A value notation shall assign a value to a specific element only once - duplicated element assignment in set (const in def. part)
3192 .*---------------------------------------------------------------------*
3194 <TC - A value notation shall assign a value to a specific element only once - duplicated element assignment in set (const in def. part)>
3197 <MODULE TTCN x x.ttcn>
3215 <RESULT IF_PASS COUNT 1>
3216 (?im)Duplicate.+?set.+?field
3218 <RESULT IF_PASS COUNT 1>
3219 (?im)Field.+?already.+?given
3221 <RESULT IF_PASS COUNT 1>
3222 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3224 <RESULT IF_PASS COUNT 1>
3230 .*---------------------------------------------------------------------*
3231 :h4.Value notations - A value notation shall assign a value to a specific element only once - duplicated element assignment in record of (modified template in def. part)
3232 .*---------------------------------------------------------------------*
3234 <TC - A value notation shall assign a value to a specific element only once - duplicated element assignment in record of (modified template in def. part)>
3237 <MODULE TTCN x x.ttcn>
3240 type record of integer rofT;
3242 template rofT temp:= { 1, 2, 3, 4, 5};
3244 template rofT modTemp modifies temp:= { [2]:= 7, [3]:= 10, [2]:= 14 };
3248 <RESULT IF_FAIL COUNT 1>
3249 (?im)\berror\b.+?Duplicate.+?index.+?value
3251 <RESULT IF_FAIL COUNT 1>
3257 .*---------------------------------------------------------------------*
3258 :h4.Value notations - A value notation shall assign a value to a specific element only once - duplicated element assignment in set (const in function)
3259 .*---------------------------------------------------------------------*
3261 <TC - A value notation shall assign a value to a specific element only once - duplicated element assignment in set (const in function)>
3264 <MODULE TTCN x x.ttcn>
3284 <RESULT IF_PASS COUNT 1>
3285 (?im)Duplicate.+?set.+?field
3287 <RESULT IF_PASS COUNT 1>
3288 (?im)Field.+?already.+?given
3290 <RESULT IF_PASS COUNT 1>
3291 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3293 <RESULT IF_PASS COUNT 1>
3299 .*---------------------------------------------------------------------*
3300 :h4.Value notations - A value notation shall assign a value to a specific element only once - duplicated element assignment in enumerated type (in def. part)
3301 .*---------------------------------------------------------------------*
3303 <TC - A value notation shall assign a value to a specific element only once - duplicated element assignment in enumerated type (in def. part)>
3306 <MODULE TTCN x x.ttcn>
3309 type enumerated Enum { ONE(1), TWO(2), THREE(1) };
3313 <RESULT IF_PASS COUNT 1>
3314 (?im)Duplicate.+?value.+?enumeration
3316 <RESULT IF_PASS COUNT 1>
3317 (?im)already.+?assigned
3319 <RESULT IF_PASS COUNT 1>
3320 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3322 <RESULT IF_PASS COUNT 1>
3328 .*---------------------------------------------------------------------*
3329 :h2.Allowed values (each evaluated expression shall conform to the context-specific rules)
3330 .*---------------------------------------------------------------------*
3331 .*---------------------------------------------------------------------*
3332 :h3.Allowed values of an object identifier
3333 .*---------------------------------------------------------------------*
3335 This test case group covers the requirement SA-6/8.
3337 Startegy: in assignment of an object identifier the first two elements have to be defined.
3338 We can define these elements in three ways:
3340 :li D='-'.with numbers : { 0 4 ...}
3341 :li D='-'.with identifiers : { itu_t identified_organization ...}
3342 :li D='-'.with both of them : { itu_t(0) identified_organization(4) ...}
3344 For more information see the ITU-T X.660.
3345 All occurances shall be tested, where such a notation can be used.
3349 :li D='-'.wrong first number in definition part and function
3350 :li D='-'.wrong identifier in definition part and function
3352 .*---------------------------------------------------------------------*
3353 :h4.Allowed values of an object identifier - wrong first number (const in def. part)
3354 .*---------------------------------------------------------------------*
3356 <TC - Allowed values of an object identifier - wrong first number (const in def. part)>
3359 <MODULE TTCN x x.ttcn>
3362 const objid o:= objid{ 6 1 0 0 };
3365 <RESULT IF_PASS COUNT 1>
3366 (?im)value.+?first.+?OBJECT.+?IDENTIFIER.+?must.+?between.+?instead
3368 <RESULT IF_PASS COUNT 1>
3369 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3371 <RESULT IF_PASS COUNT 1>
3377 .*---------------------------------------------------------------------*
3378 :h4.Allowed values of an object identifier - wrong first number (const in function)
3379 .*---------------------------------------------------------------------*
3381 <TC - Allowed values of an object identifier - wrong first number (const in function)>
3384 <MODULE TTCN x x.ttcn>
3389 const objid o:= objid{ 6 1 0 0 };
3393 <RESULT IF_PASS COUNT 1>
3394 (?im)value.+?first.+?OBJECT.+?IDENTIFIER.+?must.+?between.+?instead
3396 <RESULT IF_PASS COUNT 1>
3397 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3399 <RESULT IF_PASS COUNT 1>
3405 .*---------------------------------------------------------------------*
3406 :h4.Allowed values of an object identifier - wrong identifier (const in def. part)
3407 .*---------------------------------------------------------------------*
3409 <TC - Allowed values of an object identifier - wrong identifier (const in def. part)>
3412 <MODULE TTCN x x.ttcn>
3415 const objid o:= objid{ ecci identified_organization ehh(0) behh(0) };
3418 <RESULT IF_PASS COUNT 2>
3419 (?im)error.+?no.+?local.+?imported.+?definition
3421 <RESULT IF_PASS COUNT 1>
3422 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3424 <RESULT IF_PASS COUNT 2>
3430 .*---------------------------------------------------------------------*
3431 :h4.Allowed values of an object identifier - wrong identifier (const in function)
3432 .*---------------------------------------------------------------------*
3434 <TC - Allowed values of an object identifier - wrong identifier (const in function)>
3437 <MODULE TTCN x x.ttcn>
3442 const objid o:= objid{ ecci identified_organization ehh(0) behh(0) };
3446 <RESULT IF_PASS COUNT 2>
3447 (?im)error.+?no.+?local.+?imported.+?definition
3449 <RESULT IF_PASS COUNT 1>
3450 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3452 <RESULT IF_PASS COUNT 2>
3458 .*---------------------------------------------------------------------*
3459 :h3.Allowed values of an universal charstring
3460 .*---------------------------------------------------------------------*
3461 This test case group covers the requirement SA-6/9.
3463 Strategy: for information see the ISO/IEC 10646.
3464 :nl. First number: 0-128
3465 :nl. Second number: 0-255
3466 :nl. Third number: 0-255
3467 :nl. Fourth number: 0-255
3468 :nl. Only numbers are allowed.
3469 All occurances shall be tested, where such a notation can be used.
3473 :li D='-'.wrong first number in definition part and function
3474 :li D='-'.operator in definition part
3475 :li D='-'.constant in function
3478 .*---------------------------------------------------------------------*
3479 :h4.Allowed values of an universal charstring - wrong first number (const in def. part)
3480 .*---------------------------------------------------------------------*
3482 <TC - Allowed values of an universal charstring - wrong first number (const in def. part)>
3485 <MODULE TTCN x x.ttcn>
3488 const universal charstring f:= "aiyyo" & char( 130, 25, 10, 25) & "gerappa";
3491 <RESULT IF_FAIL COUNT 1>
3492 (?im)\berror\b.+?first.+?number.+?must.+?within.+?range
3494 <RESULT IF_FAIL COUNT 1>
3500 .*---------------------------------------------------------------------*
3501 :h4.Allowed values of an universal charstring - wrong first number (const in function)
3502 .*---------------------------------------------------------------------*
3504 <TC - Allowed values of an universal charstring - wrong first number (const in function)>
3507 <MODULE TTCN x x.ttcn>
3512 const universal charstring f:= "aiyyo" & char( 130, 25, 10, 25) & "gerappa";
3517 <RESULT IF_FAIL COUNT 1>
3518 (?im)\berror\b.+?first.+?number.+?must.+?within.+?range
3520 <RESULT IF_FAIL COUNT 1>
3526 .*---------------------------------------------------------------------*
3527 :h4.Allowed values of an universal charstring - operator (const in def. part)
3528 .*---------------------------------------------------------------------*
3530 <TC - Allowed values of an universal charstring - operator (const in def. part)>
3533 <MODULE TTCN x x.ttcn>
3536 const universal charstring f:= "aiyyo" & char( 13, 25+32, 10, 25) & "gerappa";
3539 <RESULT IF_FAIL COUNT 1>
3540 (?im)\berror\b.+?syntax.+?error.+?unexpected.+?\+
3542 <RESULT IF_FAIL COUNT 1>
3548 .*---------------------------------------------------------------------*
3549 :h4.Allowed values of an universal charstring - constant (const in function)
3550 .*---------------------------------------------------------------------*
3552 <TC - Allowed values of an universal charstring - constant (const in function)>
3555 <MODULE TTCN x x.ttcn>
3558 const integer i:= 12;
3562 const universal charstring f:= "aiyyo" & char( i, 25, 10, 25) & "gerappa";
3567 <RESULT IF_FAIL COUNT 1>
3568 (?im)\berror\b.+?syntax.+?error.+?unexpected.+?identifier
3570 <RESULT IF_FAIL COUNT 2>
3576 .*---------------------------------------------------------------------*
3577 :h4.Function reference - incompatible types
3578 .*---------------------------------------------------------------------*
3580 <TC - Function reference - incompatible types>
3583 <MODULE TTCN x x.ttcn>
3585 type function fntype1();
3586 type function fntype2();
3594 <RESULT IF_FAIL COUNT 1>
3597 <RESULT IF_FAIL POSITIVE>
3598 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3603 .*---------------------------------------------------------------------*
3604 :h4.Allowed values of an function reference - 1
3605 .*---------------------------------------------------------------------*
3607 <TC - Allowed values of an function reference - 1 >
3610 <MODULE TTCN x x.ttcn>
3612 type function fntype();
3613 function fn1(integer i) { }
3616 var fntype f1 := refers(fn1);
3617 var fntype f2 := refers(fn2);
3621 <RESULT IF_FAIL COUNT 1>
3624 <RESULT IF_FAIL POSITIVE>
3625 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3630 .*---------------------------------------------------------------------*
3631 :h4.Allowed values of an function reference - 2
3632 .*---------------------------------------------------------------------*
3634 <TC - Allowed values of an function reference - 2>
3637 <MODULE TTCN x x.ttcn>
3639 type function fntype();
3641 function fn2() return charstring { return ""; }
3643 var fntype f1:= refers(fn1);
3644 var fntype f2:= refers(fn2);
3648 <RESULT IF_FAIL COUNT 1>
3651 <RESULT IF_FAIL POSITIVE>
3652 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3657 .*---------------------------------------------------------------------*
3658 :h4.Allowed values of an function reference - 3
3659 .*---------------------------------------------------------------------*
3661 <TC - Allowed values of an function reference - 3>
3664 <MODULE TTCN x x.ttcn>
3666 type function fntype(integer a);
3667 function fn1(integer b) { }
3668 function fn2(integer a) { }
3670 var fntype f1:= refers(fn1);
3671 var fntype f2:= refers(fn2);
3675 <RESULT IF_PASS COUNT 1>
3676 (?im)\bwarning\b.+?name.+?of.+?parameter.+?not.+?the.+?same
3678 <RESULT IF_FAIL POSITIVE>
3681 <RESULT IF_FAIL POSITIVE>
3682 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3687 .*---------------------------------------------------------------------*
3688 :h3.Allowed values of an index when accessing a single element of a string value
3689 .*---------------------------------------------------------------------*
3691 This test case group covers the requirement SA-6/10.
3693 Strategy: indexing of string values has to beginning with 0. So shall not
3694 use negative numbers or higher numbers than size(string)-1.
3695 All occurances shall be tested, where such a notation can be used.
3699 :li D='-'.higher number in index than the size in definition part and function
3700 :li D='-'.negative index in definition part and function
3703 .*---------------------------------------------------------------------*
3704 :h4.String indexing - indexing begin with zero (const in def. part)
3705 .*---------------------------------------------------------------------*
3707 <TC - String indexing - indexing begin with zero (const in def. part)>
3710 <MODULE TTCN x x.ttcn>
3713 const charstring CS:="WRONG";
3714 const charstring wrongCS := CS[5];
3718 <RESULT IF_PASS COUNT 1>
3719 (?im)Index.+?overflow.+?string.+?element
3721 <RESULT IF_PASS COUNT 1>
3722 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3724 <RESULT IF_PASS COUNT 1>
3730 .*---------------------------------------------------------------------*
3731 :h4.String indexing - indexing begin with zero (const in function)
3732 .*---------------------------------------------------------------------*
3734 <TC - String indexing - indexing begin with zero (const in function)>
3737 <MODULE TTCN x x.ttcn>
3742 const charstring CS:="WRONG";
3743 const charstring wrongCS := CS[5];
3747 <RESULT IF_PASS COUNT 1>
3748 (?im)Index.+?overflow.+?string.+?element
3750 <RESULT IF_PASS COUNT 1>
3751 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3753 <RESULT IF_PASS COUNT 1>
3759 .*---------------------------------------------------------------------*
3760 :h4.String indexing - indexing must be non-negative (const in def. part)
3761 .*---------------------------------------------------------------------*
3763 <TC - String indexing - indexing must be non-negative (const in def. part)>
3766 <MODULE TTCN x x.ttcn>
3769 const charstring CS:="WRONG";
3770 const charstring wrongCS := CS[-1];
3774 <RESULT IF_PASS COUNT 1>
3775 (?im)non-negative.+?value.+?expected.+?instead of.+?indexing.+?string.+?element
3777 <RESULT IF_PASS COUNT 1>
3778 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3780 <RESULT IF_PASS COUNT 1>
3786 .*---------------------------------------------------------------------*
3787 :h4.String indexing - indexing must be non-negative (const in function)
3788 .*---------------------------------------------------------------------*
3790 <TC - String indexing - indexing must be non-negative (const in function)>
3793 <MODULE TTCN x x.ttcn>
3798 const charstring CS:="WRONG";
3799 const charstring wrongCS := CS[-1];
3803 <RESULT IF_PASS COUNT 1>
3804 (?im)non-negative.+?value.+?expected.+?instead of.+?indexing.+?string.+?element
3806 <RESULT IF_PASS COUNT 1>
3807 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3809 <RESULT IF_PASS COUNT 1>
3815 .*---------------------------------------------------------------------*
3816 :h3.Omitting mandatory fields
3817 .*---------------------------------------------------------------------*
3819 This test case group covers the requirement SA-6/11.
3821 Strategy: shall not omitting mandatory fields
3822 All occurances shall be tested, where such a notation can be used.
3824 Tested: - record and set fields in definition part and function
3826 .*---------------------------------------------------------------------*
3827 :h4.Omitting mandatory fields - wrong optional record field (const in def. part)
3828 .*---------------------------------------------------------------------*
3830 <TC - Omitting mandatory fields - wrong optional record field (const in def. part)>
3833 <MODULE TTCN x x.ttcn>
3836 type record Record {
3842 const Record r := { omit, 0.0, "error" };
3846 <RESULT IF_PASS COUNT 1>
3847 (?im)omit.+?not.+?allowed
3849 <RESULT IF_PASS COUNT 1>
3850 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3852 <RESULT IF_PASS COUNT 1>
3858 .*---------------------------------------------------------------------*
3859 :h4.Omitting mandatory fields - referencing unbound (const in def. part)
3860 .*---------------------------------------------------------------------*
3862 <TC - Omitting mandatory fields - referencing unbound (const in def. part)>
3865 <MODULE TTCN x x.ttcn>
3868 type record Record {
3873 const Record c_R := { b := 1 };
3874 const integer c_i := c_R.a
3878 <RESULT IF_PASS COUNT 1>
3879 (?im)Reference.+?unbound.+?field
3881 <RESULT IF_PASS COUNT 1>
3887 .*---------------------------------------------------------------------*
3888 :h4.Omitting mandatory fields - wrong optional record field (const in function)
3889 .*---------------------------------------------------------------------*
3891 <TC - Omitting mandatory fields - wrong optional record field (const in function)>
3894 <MODULE TTCN x x.ttcn>
3897 type record Record {
3905 const Record r := { omit, 0.0, "error" };
3910 <RESULT IF_PASS COUNT 1>
3911 (?im)omit.+?not.+?allowed
3913 <RESULT IF_PASS COUNT 1>
3914 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3916 <RESULT IF_PASS COUNT 1>
3922 .*---------------------------------------------------------------------*
3923 :h4.Omitting mandatory fields - wrong optional set field (const in def. part)
3924 .*---------------------------------------------------------------------*
3926 <TC - Omitting mandatory fields - wrong optional set field> (const in def. part)
3929 <MODULE TTCN x x.ttcn>
3946 <RESULT IF_PASS COUNT 1>
3947 (?im)omit.+?not.+?allowed
3949 <RESULT IF_PASS COUNT 1>
3950 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3952 <RESULT IF_PASS COUNT 1>
3958 .*---------------------------------------------------------------------*
3959 :h4.Omitting mandatory fields - wrong optional set field (const in function)
3960 .*---------------------------------------------------------------------*
3962 <TC - Omitting mandatory fields - wrong optional set field> (const in function)
3965 <MODULE TTCN x x.ttcn>
3984 <RESULT IF_PASS COUNT 1>
3985 (?im)omit.+?not.+?allowed
3987 <RESULT IF_PASS COUNT 1>
3988 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3990 <RESULT IF_PASS COUNT 1>
3996 .*---------------------------------------------------------------------*
3997 :h3.Values are not constants or literals in subtype-specifications
3998 .*---------------------------------------------------------------------*
4000 This test case group covers the requirement SA-6/12.
4002 Strategy: values in list, range and string length shall be initialized with constants or literal values.
4003 So it shall not contains functions returned with random values, and hand-made functions neither.
4004 See the table 3, side 26.
4005 All occurances shall be tested, where such a notation can be used.
4009 :li D='-'.inner random and hand-made functions in charstring length
4010 :li D='-'.inner random and hand-made functions in bitstring length-range
4011 :li D='-'.both type of functions in bitstring length-range
4012 :li D='-'.inner random and hand-made functions in integer-range
4013 :li D='-'.both type of functions in float-range
4014 :li D='-'.inner random and hand-made functions in integer-list
4015 :li D='-'.both type of functions in float-list
4018 .*---------------------------------------------------------------------*
4019 :h4.Values are not constants or literals in subtype-specifications - rnd() in length (charstring )
4020 .*---------------------------------------------------------------------*
4023 <TC - Values are not constants or literals in subtype-specifications - rnd() in length (charstring )>
4027 <MODULE TTCN x x.ttcn>
4030 type charstring myCharType length( float2int(rnd()) );
4034 <RESULT IF_PASS COUNT 1>
4035 (?im)error.+?evaluable.+?constant.+?value.+?expected.+?instead.+?of.+?operation
4037 <RESULT IF_PASS COUNT 1>
4038 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4040 <RESULT IF_PASS COUNT 1>
4047 .*---------------------------------------------------------------------*
4048 :h4.Values are not constants or literals in subtype-specifications - hand-made function in length (charstring )
4049 .*---------------------------------------------------------------------*
4052 <TC - Values are not constants or literals in subtype-specifications - hand-made function in length (charstring )>
4056 <MODULE TTCN x x.ttcn>
4059 function myFunct() return integer{
4063 type charstring myCharType length( myFunct() );
4067 <RESULT IF_PASS COUNT 1>
4068 (?im)error.+?Reference.+?constant.+?expected.+?instead
4070 <RESULT IF_PASS COUNT 1>
4071 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4073 <RESULT IF_PASS COUNT 1>
4080 .*---------------------------------------------------------------------*
4081 :h4.Values are not constants or literals in subtype-specifications - rnd() in length range (bitstring )
4082 .*---------------------------------------------------------------------*
4085 <TC - Values are not constants or literals in subtype-specifications - rnd() in length range (bitstring )>
4089 <MODULE TTCN x x.ttcn>
4092 type charstring myCharType length( float2int(rnd()) .. 5 );
4096 <RESULT IF_PASS COUNT 1>
4097 (?im)error.+?evaluable.+?constant.+?value.+?expected.+?instead.+?of.+?operation
4099 <RESULT IF_PASS COUNT 1>
4100 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4102 <RESULT IF_PASS COUNT 1>
4109 .*---------------------------------------------------------------------*
4110 :h4.Values are not constants or literals in subtype-specifications - hand-made function in length range (bitstring )
4111 .*---------------------------------------------------------------------*
4114 <TC - Values are not constants or literals in subtype-specifications - hand-made function in length range (bitstring )>
4118 <MODULE TTCN x x.ttcn>
4121 function myFunct() return integer{
4125 type charstring myCharType length( 2 .. myFunct());
4129 <RESULT IF_PASS COUNT 1>
4130 (?im)error.+?Reference.+?constant.+?expected.+?instead
4132 <RESULT IF_PASS COUNT 1>
4133 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4135 <RESULT IF_PASS COUNT 1>
4142 .*---------------------------------------------------------------------*
4143 :h4.Values are not constants or literals in subtype-specifications - both types of functions in length range (bitstring )
4144 .*---------------------------------------------------------------------*
4147 <TC - Values are not constants or literals in subtype-specifications - both types of functions in length range (bitstring )>
4151 <MODULE TTCN x x.ttcn>
4154 function myFunct() return integer{
4158 type charstring myCharType length( float2int(rnd()) .. myFunct());
4162 <RESULT IF_PASS COUNT 1>
4163 (?im)error.+?evaluable.+?constant.+?value.+?expected.+?instead.+?of.+?operation
4165 <RESULT IF_PASS COUNT 1>
4166 (?im)error.+?Reference.+?constant.+?expected.+?instead
4168 <RESULT IF_PASS COUNT 1>
4169 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4171 <RESULT IF_PASS COUNT 2>
4178 .*---------------------------------------------------------------------*
4179 :h4.Values are not constants or literals in subtype-specifications - rnd() in range (integer )
4180 .*---------------------------------------------------------------------*
4183 <TC - Values are not constants or literals in subtype-specifications - rnd() in range (integer )>
4187 <MODULE TTCN x x.ttcn>
4190 type integer myIntType ( float2int(rnd()) .. 255 );
4194 <RESULT IF_PASS COUNT 1>
4195 (?im)error.+?evaluable.+?constant.+?value.+?expected.+?instead.+?of.+?operation
4197 <RESULT IF_PASS COUNT 1>
4198 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4200 <RESULT IF_PASS COUNT 1>
4207 .*---------------------------------------------------------------------*
4208 :h4.Values are not constants or literals in subtype-specifications - hand-made function in range (integer )
4209 .*---------------------------------------------------------------------*
4212 <TC - Values are not constants or literals in subtype-specifications - hand-made function in range (integer )>
4216 <MODULE TTCN x x.ttcn>
4219 function myFunct() return integer{
4223 type integer myIntType ( 255 .. myFunct() );
4227 <RESULT IF_PASS COUNT 1>
4228 (?im)error.+?Reference.+?constant.+?expected.+?instead
4230 <RESULT IF_PASS COUNT 1>
4231 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4233 <RESULT IF_PASS COUNT 1>
4240 .*---------------------------------------------------------------------*
4241 :h4.Values are not constants or literals in subtype-specifications - both types of functions in range (float )
4242 .*---------------------------------------------------------------------*
4245 <TC - Values are not constants or literals in subtype-specifications - both types of functions in range (float )>
4249 <MODULE TTCN x x.ttcn>
4252 function myFunct() return float{
4256 type float myIntType ( rnd() .. myFunct() );
4260 <RESULT IF_PASS COUNT 1>
4261 (?im)error.+?evaluable.+?constant.+?value.+?expected.+?instead.+?of.+?operation
4263 <RESULT IF_PASS COUNT 1>
4264 (?im)error.+?Reference.+?constant.+?expected.+?instead
4266 <RESULT IF_PASS COUNT 1>
4267 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4269 <RESULT IF_PASS COUNT 2>
4276 .*---------------------------------------------------------------------*
4277 :h4.Values are not constants or literals in subtype-specifications - rnd() in list (integer )
4278 .*---------------------------------------------------------------------*
4281 <TC - Values are not constants or literals in subtype-specifications - rnd() in list (integer )>
4285 <MODULE TTCN x x.ttcn>
4288 type integer myIntType ( float2int(rnd()), 255 );
4292 <RESULT IF_PASS COUNT 1>
4293 (?im)error.+?evaluable.+?constant.+?value.+?expected.+?instead.+?of.+?operation
4295 <RESULT IF_PASS COUNT 1>
4296 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4298 <RESULT IF_PASS COUNT 1>
4305 .*---------------------------------------------------------------------*
4306 :h4.Values are not constants or literals in subtype-specifications - hand-made function in list (integer )
4307 .*---------------------------------------------------------------------*
4310 <TC - Values are not constants or literals in subtype-specifications - hand-made function in list (integer )>
4314 <MODULE TTCN x x.ttcn>
4317 function myFunct() return integer{
4321 type integer myIntType ( 255, myFunct() );
4325 <RESULT IF_PASS COUNT 1>
4326 (?im)error.+?Reference.+?constant.+?expected.+?instead
4328 <RESULT IF_PASS COUNT 1>
4329 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4331 <RESULT IF_PASS COUNT 1>
4338 .*---------------------------------------------------------------------*
4339 :h4.Values are not constants or literals in subtype-specifications - both types of functions in list (float )
4340 .*---------------------------------------------------------------------*
4343 <TC - Values are not constants or literals in subtype-specifications - both types of functions in list (float )>
4347 <MODULE TTCN x x.ttcn>
4350 function myFunct() return float{
4354 type float myIntType ( rnd(), 255.0, myFunct() );
4358 <RESULT IF_PASS COUNT 1>
4359 (?im)error.+?evaluable.+?constant.+?value.+?expected.+?instead.+?of.+?operation
4361 <RESULT IF_PASS COUNT 1>
4362 (?im)error.+?Reference.+?constant.+?expected.+?instead
4364 <RESULT IF_PASS COUNT 1>
4365 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4367 <RESULT IF_PASS COUNT 2>
4374 .*---------------------------------------------------------------------*
4375 :h3.Negative string lengths
4376 .*---------------------------------------------------------------------*
4378 This test case group covers the requirement SA-6/13.
4380 Strategy: TTCN-3 permits specification of length restrictions on string types. In all cases, the boundaries shall evaluate to non-negative integer or derived integer constant values.
4381 All occurances shall be tested, where such a notation can be used.
4385 :li D='-'.type and ranged type definition in definition part for charstring
4386 :li D='-'.charstring in definition part
4387 :li D='-'.bitstring in function
4390 .*---------------------------------------------------------------------*
4391 :h4.Negative string lengths - type definition (charstring in def.part)
4392 .*---------------------------------------------------------------------*
4395 <TC - Negative string lengths - type definition (charstring in def.part)>
4399 <MODULE TTCN x x.ttcn>
4402 const integer i:= -6;
4404 type charstring myChars length( i);
4408 <RESULT IF_PASS COUNT 1>
4409 (?im)error.+?length.+?restriction.+?must.+?non-negative
4411 <RESULT IF_PASS COUNT 1>
4412 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4414 <RESULT IF_PASS COUNT 1>
4421 .*---------------------------------------------------------------------*
4422 :h4.Negative string lengths - ranged type definition (charstring in def.part)
4423 .*---------------------------------------------------------------------*
4426 <TC - Negative string lengths - ranged type definition (charstring in def.part)>
4430 <MODULE TTCN x x.ttcn>
4433 const integer i:= -5;
4435 type charstring myChars length( i..3);
4439 <RESULT IF_PASS COUNT 1>
4440 (?im)error.+?Lower.+?boundary.+?length.+?restriction.+?must.+?non-negative
4442 <RESULT IF_PASS COUNT 1>
4443 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4445 <RESULT IF_PASS COUNT 1>
4452 .*---------------------------------------------------------------------*
4453 :h4.Negative string lengths - using (charstring in def.part)
4454 .*---------------------------------------------------------------------*
4457 <TC - Negative string lengths - using (charstring in def.part)>
4461 <MODULE TTCN x x.ttcn>
4464 const charstring myChars:= "aiyyo";
4465 const charstring f:= myChars[-1];
4469 <RESULT IF_PASS COUNT 1>
4470 (?im)error.+?non-negative.+?value.+?expected
4472 <RESULT IF_PASS COUNT 1>
4473 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4475 <RESULT IF_PASS COUNT 1>
4482 .*---------------------------------------------------------------------*
4483 :h4.Negative string lengths - using (bitstring in function)
4484 .*---------------------------------------------------------------------*
4487 <TC - Negative string lengths - using (bitstring in function)>
4491 <MODULE TTCN x x.ttcn>
4494 const integer i:= -9;
4495 const bitstring myBits:= '100001'B;
4496 const bitstring f:= myBits[i];
4500 <RESULT IF_PASS COUNT 1>
4501 (?im)error.+?non-negative.+?value.+?expected
4503 <RESULT IF_PASS COUNT 1>
4504 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4506 <RESULT IF_PASS COUNT 1>
4513 .*---------------------------------------------------------------------*
4514 :h3.Dimension in arrays
4515 .*---------------------------------------------------------------------*
4517 This test case group covers the requirement SA-6/14.
4519 Strategy: Array dimensions shall be specified using constant expressions which shall evaluate to a positive integer value.
4520 All occurances shall be tested, where such a notation can be used.
4524 :li D='-'.declaration of integer array with references in control part and function
4525 :li D='-'.declaration of timer array with references in control part and function
4526 :li D='-'.declaration of integer ranged array with references in control part and function
4527 :li D='-'.declaration of timer ranged array with references in control part and function
4528 :li D='-'.declaration of integer array with negative numbers in control part and function
4529 :li D='-'.declaration of timer array with negative numbers in control part and function
4530 :li D='-'.declaration of port array with negative numbers in definition part
4531 :li D='-'.declaration of integer ranged array with negative numbers in control part and function
4532 :li D='-'.declaration of timer ranged array with negative numbers in control part and function
4533 :li D='-'.declaration of port ranged array with negative numbers in control part and function
4534 :li D='-'.declaration of integer array with zero number in control part and function
4535 :li D='-'.declaration of timer array with zero numbers in control part and function
4536 :li D='-'.declaration of port array with zero numbers in definition part
4537 :li D='-'.using of integer array with negative numbers in control part and function
4538 :li D='-'.using of timer array with negative numbers in control part and function
4539 :li D='-'.using of port array with negative numbers in function
4540 :li D='-'.using of integer ranged array with negative numbers in control part and function
4541 :li D='-'.using of timer ranged array with negative numbers in control part and function
4542 :li D='-'.using of port ranged array with negative numbers in function
4544 NOTE: it works for timer arrays
4546 .*---------------------------------------------------------------------*
4547 :h4.Dimension in arrays - variable declaration with references (integer array in control part)
4548 .*---------------------------------------------------------------------*
4551 <TC - Dimension in arrays - variable declaration with references (integer array in control part)>
4555 <MODULE TTCN x x.ttcn>
4562 var integer myArr[2][i];
4566 <RESULT IF_PASS COUNT 1>
4567 (?im)error.+?Reference.+?to.+?constant.+?value.+?expected
4569 <RESULT IF_PASS COUNT 1>
4570 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4572 <RESULT IF_PASS COUNT 1>
4575 <RESULT IF_FAIL COUNT 1>
4582 .*---------------------------------------------------------------------*
4583 :h4.Dimension in arrays - variable declaration with references (integer array in function)
4584 .*---------------------------------------------------------------------*
4587 <TC - Dimension in arrays - variable declaration with references (integer array in function)>
4591 <MODULE TTCN x x.ttcn>
4598 var integer myArr[i][3];
4602 <RESULT IF_PASS COUNT 1>
4603 (?im)error.+?Reference.+?to.+?constant.+?value.+?expected
4605 <RESULT IF_PASS COUNT 1>
4606 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4608 <RESULT IF_PASS COUNT 1>
4611 <RESULT IF_FAIL COUNT 1>
4618 .*---------------------------------------------------------------------*
4619 :h4.Dimension in arrays - timer declaration with references (in control part)
4620 .*---------------------------------------------------------------------*
4623 <TC - Dimension in arrays - timer declaration with references (in control part)>
4627 <MODULE TTCN x x.ttcn>
4632 timer myTimerArr[2][i];
4636 <RESULT IF_PASS COUNT 1>
4637 (?im)error.+?Reference.+?to.+?constant.+?value.+?expected
4639 <RESULT IF_PASS COUNT 1>
4640 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4642 <RESULT IF_PASS COUNT 1>
4649 .*---------------------------------------------------------------------*
4650 :h4.Dimension in arrays - timer declaration with references (in function)
4651 .*---------------------------------------------------------------------*
4654 <TC - Dimension in arrays - timer declaration with references (in function)>
4658 <MODULE TTCN x x.ttcn>
4665 timer myTimerArr[i][3];
4669 <RESULT IF_PASS COUNT 1>
4670 (?im)error.+?Reference.+?to.+?constant.+?value.+?expected
4672 <RESULT IF_PASS COUNT 1>
4679 .*---------------------------------------------------------------------*
4680 :h4.Dimension in arrays - port declaration with references (in def.part)
4681 .*---------------------------------------------------------------------*
4684 <TC - Dimension in arrays - port declaration with references (in def.part)>
4688 <MODULE TTCN x x.ttcn>
4692 type port myport message{inout charstring};
4693 type myport akarmi[5];
4697 <RESULT IF_PASS COUNT 1>
4698 (?im)error.+?cannot.+?embedded.+?into.+?array.+?type
4700 <RESULT IF_PASS COUNT 1>
4701 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4703 <RESULT IF_PASS COUNT 1>
4710 .*---------------------------------------------------------------------*
4711 :h4.Dimension in arrays - variable declaration with references (integer ranged-array in control part)
4712 .*---------------------------------------------------------------------*
4715 <TC - Dimension in arrays - variable declaration with references (integer ranged-array in control part)>
4719 <MODULE TTCN x x.ttcn>
4726 var integer myArr[2..i][3..4];
4730 <RESULT IF_PASS COUNT 1>
4731 (?im)error.+?Reference.+?to.+?constant.+?value.+?expected
4733 <RESULT IF_PASS COUNT 1>
4734 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4736 <RESULT IF_PASS COUNT 1>
4739 <RESULT IF_FAIL COUNT 1>
4746 .*---------------------------------------------------------------------*
4747 :h4.Dimension in arrays - variable declaration with references (integer ranged-array in function)
4748 .*---------------------------------------------------------------------*
4751 <TC - Dimension in arrays - variable declaration with references (integer ranged-array in function)>
4755 <MODULE TTCN x x.ttcn>
4762 var integer myArr[2..6][3..i];
4766 <RESULT IF_PASS COUNT 1>
4767 (?im)error.+?Reference.+?to.+?constant.+?value.+?expected
4769 <RESULT IF_PASS COUNT 1>
4770 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4772 <RESULT IF_PASS COUNT 1>
4775 <RESULT IF_FAIL COUNT 1>
4782 .*---------------------------------------------------------------------*
4783 :h4.Dimension in arrays - timer declaration with references (ranged-array in control part)
4784 .*---------------------------------------------------------------------*
4787 <TC - Dimension in arrays - timer declaration with references (ranged-array in control part)>
4791 <MODULE TTCN x x.ttcn>
4796 timer myTimerArr[i..6][3..4];
4800 <RESULT IF_PASS COUNT 1>
4801 (?im)error.+?Reference.+?to.+?constant.+?value.+?expected
4803 <RESULT IF_PASS COUNT 1>
4804 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4806 <RESULT IF_PASS COUNT 1>
4813 .*---------------------------------------------------------------------*
4814 :h4.Dimension in arrays - timer declaration with references (ranged-array in function)
4815 .*---------------------------------------------------------------------*
4818 <TC - Dimension in arrays - timer declaration with references (ranged-array in function)>
4822 <MODULE TTCN x x.ttcn>
4827 timer myTimerArr[2..i][3..4];
4831 <RESULT IF_PASS COUNT 1>
4832 (?im)error.+?Reference.+?to.+?constant.+?value.+?expected
4834 <RESULT IF_PASS COUNT 1>
4835 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4837 <RESULT IF_PASS COUNT 1>
4844 .*---------------------------------------------------------------------*
4845 :h4.Dimension in arrays - variable declaration with negative literal (integer array in control part)
4846 .*---------------------------------------------------------------------*
4849 <TC - Dimension in arrays - variable declaration with negative literal (integer array in control part)>
4853 <MODULE TTCN x x.ttcn>
4857 var integer myArr[2][-3];
4861 <RESULT IF_PASS COUNT 1>
4862 (?im)error.+?positive.+?value.+?expected.+?array.+?size
4864 <RESULT IF_PASS COUNT 1>
4865 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4867 <RESULT IF_PASS COUNT 1>
4874 .*---------------------------------------------------------------------*
4875 :h4.Dimension in arrays - variable declaration with negative constants (integer array in function)
4876 .*---------------------------------------------------------------------*
4879 <TC - Dimension in arrays - variable declaration with negative constants (integer array in function)>
4883 <MODULE TTCN x x.ttcn>
4888 const integer i:= -5;
4889 var integer myArr[i][3];
4893 <RESULT IF_PASS COUNT 1>
4894 (?im)error.+?positive.+?value.+?expected.+?array.+?size
4896 <RESULT IF_PASS COUNT 1>
4897 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4899 <RESULT IF_PASS COUNT 1>
4906 .*---------------------------------------------------------------------*
4907 :h4.Dimension in arrays - timer declaration with negative literal (in control part)
4908 .*---------------------------------------------------------------------*
4911 <TC - Dimension in arrays - timer declaration with negative literal (in control part)>
4915 <MODULE TTCN x x.ttcn>
4923 <RESULT IF_PASS COUNT 1>
4924 (?im)error.+?positive.+?integer.+?value.+?expected
4926 <RESULT IF_PASS COUNT 1>
4927 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4929 <RESULT IF_PASS COUNT 1>
4936 .*---------------------------------------------------------------------*
4937 :h4.Dimension in arrays - timer declaration with negative constants (in function)
4938 .*---------------------------------------------------------------------*
4941 <TC - Dimension in arrays - timer declaration with negative constants (in function)>
4945 <MODULE TTCN x x.ttcn>
4950 const integer i:= -5;
4955 <RESULT IF_PASS COUNT 1>
4956 (?im)error.+?positive.+?integer.+?value.+?expected
4958 <RESULT IF_PASS COUNT 1>
4959 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4961 <RESULT IF_PASS COUNT 1>
4968 .*---------------------------------------------------------------------*
4969 :h4.Dimension in arrays - port declaration with negative constants (in def. part)
4970 .*---------------------------------------------------------------------*
4973 <TC - Dimension in arrays - port declaration with negative constants (in def. part)>
4977 <MODULE TTCN x x.ttcn>
4980 type port myPort message{inout charstring};
4982 const integer i := -5;
4984 type component myComp{
4985 port myPort ports[i];
4989 <RESULT IF_PASS COUNT 1>
4990 (?im)error.+?positive.+?integer.+?value.+?expected
4992 <RESULT IF_PASS COUNT 1>
4993 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4995 <RESULT IF_PASS COUNT 1>
5003 .*---------------------------------------------------------------------*
5004 :h4.Dimension in arrays - variable declaration with negative literal (integer ranged-array in control part)
5005 .*---------------------------------------------------------------------*
5008 <TC - Dimension in arrays - variable declaration with negative literal (integer ranged-array in control part)>
5012 <MODULE TTCN x x.ttcn>
5017 var integer myArr[2..6][-8..10];
5021 <RESULT IF_PASS NEGATIVE>
5028 .*---------------------------------------------------------------------*
5029 :h4.Dimension in arrays - variable declaration with negative constants (integer ranged-array in function)
5030 .*---------------------------------------------------------------------*
5033 <TC - Dimension in arrays - variable declaration with negative constants (integer ranged-array in function)>
5037 <MODULE TTCN x x.ttcn>
5042 const integer i:= -3;
5043 var integer myArr[i..6][8..10];
5047 <RESULT IF_PASS NEGATIVE>
5054 .*---------------------------------------------------------------------*
5055 :h4.Dimension in arrays - timer declaration with negative literal (ranged-array in control part)
5056 .*---------------------------------------------------------------------*
5059 <TC - Dimension in arrays - timer declaration with negative literal (ranged-array in control part)>
5063 <MODULE TTCN x x.ttcn>
5068 timer myArr[2..6][-8..10];
5072 <RESULT IF_PASS NEGATIVE>
5079 .*---------------------------------------------------------------------*
5080 :h4.Dimension in arrays - timer declaration with negative constants (ranged-array in function)
5081 .*---------------------------------------------------------------------*
5084 <TC - Dimension in arrays - timer declaration with negative constants (ranged-array in function)>
5088 <MODULE TTCN x x.ttcn>
5093 const integer i:= -3;
5094 timer myArr[i..6][8..10];
5098 <RESULT IF_PASS NEGATIVE>
5105 .*---------------------------------------------------------------------*
5106 :h4.Dimension in arrays - port declaration with negative constants (ranged-array in def. part)
5107 .*---------------------------------------------------------------------*
5110 <TC - Dimension in arrays - port declaration with negative constants (ranged-array in def. part)>
5114 <MODULE TTCN x x.ttcn>
5117 type port myPort message{inout charstring};
5119 const integer i := -5;
5121 type component myComp{
5122 port myPort ports[i..10];
5127 <RESULT IF_PASS NEGATIVE>
5134 .*---------------------------------------------------------------------*
5135 :h4.Dimension in arrays - variable declaration with zero constants (integer array in control part)
5136 .*---------------------------------------------------------------------*
5139 <TC - Dimension in arrays - variable declaration with zero constants (integer array in control part)>
5143 <MODULE TTCN x x.ttcn>
5148 var integer myArr[0];
5152 <RESULT IF_PASS COUNT 1>
5153 (?im)error.+?positive.+?value.+?expected.+?array.+?size
5155 <RESULT IF_PASS COUNT 1>
5156 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5158 <RESULT IF_PASS COUNT 1>
5165 .*---------------------------------------------------------------------*
5166 :h4.Dimension in arrays - variable declaration with zero literal (integer array in function)
5167 .*---------------------------------------------------------------------*
5170 <TC - Dimension in arrays - variable declaration with zero literal (integer array in function)>
5174 <MODULE TTCN x x.ttcn>
5179 const integer i:= 0;
5180 var integer myArr[i];
5184 <RESULT IF_PASS COUNT 1>
5185 (?im)error.+?positive.+?value.+?expected.+?array.+?size
5187 <RESULT IF_PASS COUNT 1>
5188 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5190 <RESULT IF_PASS COUNT 1>
5197 .*---------------------------------------------------------------------*
5198 :h4.Dimension in arrays - timer declaration with zero constants (in control part)
5199 .*---------------------------------------------------------------------*
5202 <TC - Dimension in arrays - timer declaration with zero constants (in control part)>
5206 <MODULE TTCN x x.ttcn>
5215 <RESULT IF_PASS COUNT 1>
5216 (?im)error.+?positive.+?integer.+?value.+?expected
5218 <RESULT IF_PASS COUNT 1>
5219 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5221 <RESULT IF_PASS COUNT 1>
5228 .*---------------------------------------------------------------------*
5229 :h4.Dimension in arrays - port declaration with zero constants (in def. part)
5230 .*---------------------------------------------------------------------*
5233 <TC - Dimension in arrays - port declaration with zero constants (in def. part)>
5237 <MODULE TTCN x x.ttcn>
5240 type port myPort message{inout charstring};
5242 type component myComp{
5243 port myPort ports[0];
5248 <RESULT IF_PASS COUNT 1>
5249 (?im)error.+?positive.+?integer.+?value.+?expected
5251 <RESULT IF_PASS COUNT 1>
5252 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5254 <RESULT IF_PASS COUNT 1>
5261 .*---------------------------------------------------------------------*
5262 :h4.Dimension in arrays - timer declaration with zero literal (in function)
5263 .*---------------------------------------------------------------------*
5266 <TC - Dimension in arrays - timer declaration with zero literal (in function)>
5270 <MODULE TTCN x x.ttcn>
5275 const integer i:= 0;
5280 <RESULT IF_PASS COUNT 1>
5281 (?im)error.+?positive.+?integer.+?value.+?expected
5283 <RESULT IF_PASS COUNT 1>
5284 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5286 <RESULT IF_PASS COUNT 1>
5293 .*---------------------------------------------------------------------*
5294 :h4.Dimension in arrays - port declaration with zero literal (in def. part)
5295 .*---------------------------------------------------------------------*
5298 <TC - Dimension in arrays - port declaration with zero literal (in def. part)>
5302 <MODULE TTCN x x.ttcn>
5305 type port myPort message{inout charstring};
5307 const integer i := 0;
5309 type component myComp{
5310 port myPort ports[i];
5315 <RESULT IF_PASS COUNT 1>
5316 (?im)error.+?positive.+?integer.+?value.+?expected
5318 <RESULT IF_PASS COUNT 1>
5319 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5321 <RESULT IF_PASS COUNT 1>
5329 .*---------------------------------------------------------------------*
5330 :h4.Dimension in arrays - using (timer array in control part)
5331 .*---------------------------------------------------------------------*
5334 <TC - Dimension in arrays - using (timer array in control part)>
5338 <MODULE TTCN x x.ttcn>
5345 myArr[-1].start( 2.0);
5349 <RESULT IF_PASS COUNT 1>
5350 (?im)error.+?Array.+?index.+?underflow
5352 <RESULT IF_PASS COUNT 1>
5353 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5355 <RESULT IF_PASS COUNT 1>
5362 .*---------------------------------------------------------------------*
5363 :h4.Dimension in arrays - using (timer array in function)
5364 .*---------------------------------------------------------------------*
5367 <TC - Dimension in arrays - using (timer array in function)>
5371 <MODULE TTCN x x.ttcn>
5377 const integer i:= -3;
5379 myArr[i].start( 2.0);
5383 <RESULT IF_PASS COUNT 1>
5384 (?im)error.+?Array.+?index.+?underflow
5386 <RESULT IF_PASS COUNT 1>
5387 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5389 <RESULT IF_PASS COUNT 1>
5396 .*---------------------------------------------------------------------*
5397 :h4.Dimension in arrays - using (port array in function)
5398 .*---------------------------------------------------------------------*
5401 <TC - Dimension in arrays - using (port array in function)>
5405 <MODULE TTCN x x.ttcn>
5408 type port myPort message{inout charstring};
5410 type component myComp{
5411 port myPort ports[3];
5414 function myFunc() runs on myComp{
5415 const integer i := -3;
5421 <RESULT IF_PASS COUNT 1>
5422 (?im)\berror\b.+?index.+?underflow
5424 <RESULT IF_PASS COUNT 1>
5431 .*---------------------------------------------------------------------*
5432 :h4.Dimension in arrays - using (integer ranged-array in control part)
5433 .*---------------------------------------------------------------------*
5436 <TC - Dimension in arrays - using (integer ranged-array in control part)>
5440 <MODULE TTCN x x.ttcn>
5445 var integer myArr[4..6][8..10];
5447 const integer i:= -3;
5450 var integer f:= myArr[i][9];
5454 <RESULT IF_FAIL NEGATIVE>
5461 .*---------------------------------------------------------------------*
5462 :h4.Dimension in arrays - using (integer ranged-array in function)
5463 .*---------------------------------------------------------------------*
5466 <TC - Dimension in arrays - using (integer ranged-array in function)>
5470 <MODULE TTCN x x.ttcn>
5475 const integer i:= 3;
5476 var integer myArr[i..6][8..10];
5479 var integer f:= myArr[4][-9];
5483 <RESULT IF_FAIL NEGATIVE>
5490 .*---------------------------------------------------------------------*
5491 :h4.Dimension in arrays - using (timer ranged-array in control part)
5492 .*---------------------------------------------------------------------*
5495 <TC - Dimension in arrays - using (timer ranged-array in control part)>
5499 <MODULE TTCN x x.ttcn>
5504 timer myArr[3..6][1..10];
5505 const integer i:= -3;
5508 myArr[i][2].start(9.0);
5513 <RESULT IF_PASS COUNT 1>
5514 (?im)\berror\b.+?index.+?underflow
5516 <RESULT IF_PASS COUNT 1>
5523 .*---------------------------------------------------------------------*
5524 :h4.Dimension in arrays - using (timer ranged-array in function)
5525 .*---------------------------------------------------------------------*
5528 <TC - Dimension in arrays - using (timer ranged-array in function)>
5532 <MODULE TTCN x x.ttcn>
5537 timer myArr[3..6][1..10];
5538 const integer i:= -3;
5541 myArr[i][2].start(9.0);
5545 <RESULT IF_PASS COUNT 1>
5546 (?im)\berror\b.+?index.+?underflow
5548 <RESULT IF_PASS COUNT 1>
5555 .*---------------------------------------------------------------------*
5556 :h4.Dimension in arrays - using (port ranged-array in function)
5557 .*---------------------------------------------------------------------*
5560 <TC - Dimension in arrays - using (port ranged-array in function)>
5564 <MODULE TTCN x x.ttcn>
5567 type port myPort message{inout charstring};
5569 type component myComp{
5570 port myPort ports[3..5];
5573 function myFunc() runs on myComp{
5574 const integer i := -3;
5580 <RESULT IF_PASS COUNT 1>
5581 (?im)\berror\b.+?index.+?underflow
5583 <RESULT IF_PASS COUNT 1>
5590 .*---------------------------------------------------------------------*
5591 :h3.Upper and lower boundaries
5592 .*---------------------------------------------------------------------*
5594 This test case group covers the requirement SA-6/15.
5596 Strategy: The lower boundary shall be smaller than the upper boundary in array definitions, string length restrictions and in
5597 definitions using ranges.
5598 All occurances shall be tested, where such a notation can be used.
5602 :li D='-'.charstring and integer value-ranges in definition part
5603 :li D='-'.mixed integer list and value-ranges in definition part
5604 :li D='-'.charstring and bitstring length restriction in definition part
5605 :li D='-'.integer array declaration in control part
5606 :li D='-'.timer array declaration in definition part
5607 :li D='-'.port array declaration in definition part
5608 :li D='-'.charstring array declaration in function
5611 .*---------------------------------------------------------------------*
5612 :h4.Upper and lower boundaries - value-range (charstring in def.part)
5613 .*---------------------------------------------------------------------*
5616 <TC - Upper and lower boundaries - value-range (charstring in def.part)>
5620 <MODULE TTCN x x.ttcn>
5623 type charstring f ( "z".."a");
5626 <RESULT IF_PASS COUNT 1>
5627 (?im)error.+?lower.+?boundary.+?bigger.+?than.+?upper
5629 <RESULT IF_PASS COUNT 1>
5630 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5632 <RESULT IF_PASS COUNT 1>
5639 .*---------------------------------------------------------------------*
5640 :h4.Upper and lower boundaries - value-range (integer in def.part)
5641 .*---------------------------------------------------------------------*
5644 <TC - Upper and lower boundaries - value-range (integer in def.part)>
5648 <MODULE TTCN x x.ttcn>
5651 const integer i:= 500;
5652 type integer f (i..255);
5655 <RESULT IF_PASS COUNT 1>
5656 (?im)error.+?lower.+?boundary.+?bigger.+?than.+?upper
5658 <RESULT IF_PASS COUNT 1>
5659 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5661 <RESULT IF_PASS COUNT 1>
5668 .*---------------------------------------------------------------------*
5669 :h4.Upper and lower boundaries - mixed value-list and value-range (integer in def.part)
5670 .*---------------------------------------------------------------------*
5673 <TC - Upper and lower boundaries - mixed value-list and value-range (integer in def.part)>
5677 <MODULE TTCN x x.ttcn>
5680 type integer f ( 1, 2, 300..255, 500);
5683 <RESULT IF_PASS COUNT 1>
5684 (?im)error.+?lower.+?boundary.+?bigger.+?than.+?upper
5686 <RESULT IF_PASS COUNT 1>
5687 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5689 <RESULT IF_PASS COUNT 1>
5696 .*---------------------------------------------------------------------*
5697 :h4.Upper and lower boundaries - length restriction (charstring in def.part)
5698 .*---------------------------------------------------------------------*
5701 <TC - Upper and lower boundaries - length restriction (charstring in def.part)>
5705 <MODULE TTCN x x.ttcn>
5708 const integer i:= 5;
5709 type charstring f length(7..i);
5712 <RESULT IF_PASS COUNT 1>
5713 (?im)error.+?upper.+?boundary.+?length.+?restriction.+?cannot.+?be.+?smaller.+?than.+?lower
5715 <RESULT IF_PASS COUNT 1>
5716 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5718 <RESULT IF_PASS COUNT 1>
5725 .*---------------------------------------------------------------------*
5726 :h4.Upper and lower boundaries - length restriction (bitstring in def.part)
5727 .*---------------------------------------------------------------------*
5730 <TC - Upper and lower boundaries - length restriction (bitstring in def.part)>
5734 <MODULE TTCN x x.ttcn>
5737 type bitstring f length(6..3);
5740 <RESULT IF_PASS COUNT 1>
5741 (?im)error.+?upper.+?boundary.+?length.+?restriction.+?cannot.+?be.+?smaller.+?than.+?lower
5743 <RESULT IF_PASS COUNT 1>
5744 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5746 <RESULT IF_PASS COUNT 1>
5753 .*---------------------------------------------------------------------*
5754 :h4.Upper and lower boundaries - array definition (integer in control part)
5755 .*---------------------------------------------------------------------*
5758 <TC - Upper and lower boundaries - array definition (integer in control part)>
5762 <MODULE TTCN x x.ttcn>
5766 const integer i:= 7;
5767 var integer f [1..2][i..4][3..4];
5771 <RESULT IF_PASS COUNT 1>
5772 (?im)error.+?lower.+?bound.+?array.+?greater.+?upper.+?bound
5774 <RESULT IF_PASS COUNT 1>
5775 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5777 <RESULT IF_PASS COUNT 1>
5784 .*---------------------------------------------------------------------*
5785 :h4.Upper and lower boundaries - array definition (charstring in function)
5786 .*---------------------------------------------------------------------*
5789 <TC - Upper and lower boundaries - array definition (charstring in function)>
5793 <MODULE TTCN x x.ttcn>
5797 var charstring f [9..2][1..5];
5801 <RESULT IF_PASS COUNT 1>
5802 (?im)error.+?lower.+?bound.+?array.+?greater.+?upper.+?bound
5804 <RESULT IF_PASS COUNT 1>
5805 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5807 <RESULT IF_PASS COUNT 1>
5814 .*---------------------------------------------------------------------*
5815 :h4.Upper and lower boundaries - timer-array definition (in control part)
5816 .*---------------------------------------------------------------------*
5819 <TC - Upper and lower boundaries - timer-array definition (in control part)>
5823 <MODULE TTCN x x.ttcn>
5827 const integer i:= 7;
5828 timer f [1..2][i..4][3..4];
5832 <RESULT IF_PASS COUNT 1>
5833 (?im)error.+?lower.+?bound.+?array.+?index.+?greater.+?than.+?upper
5835 <RESULT IF_PASS COUNT 1>
5836 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5838 <RESULT IF_PASS COUNT 1>
5845 .*---------------------------------------------------------------------*
5846 :h4.Upper and lower boundaries - timer-array definition (in function)
5847 .*---------------------------------------------------------------------*
5850 <TC - Upper and lower boundaries - timer-array definition (in function)>
5854 <MODULE TTCN x x.ttcn>
5858 timer f [9..2][1..5];
5862 <RESULT IF_PASS COUNT 1>
5863 (?im)error.+?lower.+?bound.+?array.+?index.+?greater.+?than.+?upper
5865 <RESULT IF_PASS COUNT 1>
5866 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5868 <RESULT IF_PASS COUNT 1>
5875 .*---------------------------------------------------------------------*
5876 :h4.Upper and lower boundaries - port-array definition (in def. part)
5877 .*---------------------------------------------------------------------*
5880 <TC - Upper and lower boundaries - port-array definition (in def. part)>
5884 <MODULE TTCN x x.ttcn>
5887 type port myport message{
5891 type component mycomp{
5892 port myport ports[6..5]
5896 <RESULT IF_PASS COUNT 1>
5897 (?im)error.+?lower.+?bound.+?array.+?index.+?greater.+?than.+?upper
5899 <RESULT IF_PASS COUNT 1>
5900 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5902 <RESULT IF_PASS COUNT 1>
5909 .*---------------------------------------------------------------------*
5910 :h4.Upper and lower boundaries - port-array definition (in def. part) 2
5911 .*---------------------------------------------------------------------*
5914 <TC - Upper and lower boundaries - port-array definition (in def. part) 2>
5918 <MODULE TTCN x x.ttcn>
5921 type port myport message{
5925 const integer i := 6;
5927 type component mycomp{
5928 port myport ports[i..5]
5932 <RESULT IF_PASS COUNT 1>
5933 (?im)error.+?lower.+?bound.+?array.+?index.+?greater.+?than.+?upper
5935 <RESULT IF_PASS COUNT 1>
5936 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5938 <RESULT IF_PASS COUNT 1>
5943 .*---------------------------------------------------------------------*
5945 .*---------------------------------------------------------------------*
5947 This test case group covers the requirement SA-6/16.
5949 Strategy: When referencing an element of an array, the index shall evaluate to a valid position within string and array.
5950 All occurances shall be tested, where such a notation can be used.
5955 :li D='-'.bitstring in definition part
5956 :li D='-'.charstring in control part
5957 :li D='-'.hexstring in function
5958 :li D='-'.integer array in control part
5959 :li D='-'.timer array in control part and function
5960 :li D='-'.port array in definition part
5961 :li D='-'.charstring array in function
5962 :li D='-'.integer ranged array in control part
5963 :li D='-'.timer ranged array in control part and function
5964 :li D='-'.port ranged array in definition part
5965 :li D='-'.float arnged array in function
5969 :li D='-'.integer ranged array in control part
5970 :li D='-'.timer array in control part and function
5971 :li D='-'.timer ranged array in control part and function
5972 :li D='-'.port array in definition part
5973 :li D='-'.port ranged array in definition part
5974 :li D='-'.float ranged array in function
5977 .*---------------------------------------------------------------------*
5978 :h4.Overindexing - string overindexing (bitstring in def.part)
5979 .*---------------------------------------------------------------------*
5982 <TC - Overindexing - string overindexing (bitstring in def.part)>
5986 <MODULE TTCN x x.ttcn>
5989 type bitstring myBits length(3..5);
5991 const myBits r:= '11111'B;
5992 const bitstring f:= r[5];
5995 <RESULT IF_PASS COUNT 1>
5996 (?im)error.+?Index.+?overflow.+?accessing.+?string.+?element
5998 <RESULT IF_PASS COUNT 1>
5999 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6001 <RESULT IF_PASS COUNT 1>
6008 .*---------------------------------------------------------------------*
6009 :h4.Overindexing - string overindexing (charstring in control part)
6010 .*---------------------------------------------------------------------*
6013 <TC - Overindexing - string overindexing (charstring in control part)>
6017 <MODULE TTCN x x.ttcn>
6020 type charstring myChars length(3..13);
6022 const myChars r:= "Ford Fairlane";
6025 const charstring f:= r[15];
6029 <RESULT IF_PASS COUNT 1>
6030 (?im)error.+?Index.+?overflow.+?accessing.+?string.+?element
6032 <RESULT IF_PASS COUNT 1>
6033 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6035 <RESULT IF_PASS COUNT 1>
6042 .*---------------------------------------------------------------------*
6043 :h4.Overindexing - string overindexing (hexstring in function)
6044 .*---------------------------------------------------------------------*
6047 <TC - Overindexing - string overindexing (hexstring in function)>
6051 <MODULE TTCN x x.ttcn>
6054 type hexstring myHexes length(1..10);
6056 const myHexes r:= 'AbbaBaba'H;
6059 const hexstring f:= r[9];
6063 <RESULT IF_PASS COUNT 1>
6064 (?im)error.+?Index.+?overflow.+?accessing.+?string.+?element
6066 <RESULT IF_PASS COUNT 1>
6067 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6069 <RESULT IF_PASS COUNT 1>
6076 .*---------------------------------------------------------------------*
6077 :h4.Overindexing - array overindexing (integer in control part)
6078 .*---------------------------------------------------------------------*
6081 <TC - Overindexing - array overindexing (integer in control part)>
6085 <MODULE TTCN x x.ttcn>
6088 const integer i:= 10;
6091 var integer myArr[2][4];
6092 myArr[1]:= { 1, 2, 3, 4 };
6095 var integer f:= myArr[1][i];
6099 <RESULT IF_FAIL NEGATIVE>
6106 .*---------------------------------------------------------------------*
6107 :h4.Overindexing - array overindexing (charstring in function)
6108 .*---------------------------------------------------------------------*
6111 <TC - Overindexing - array overindexing (charstring in function)>
6115 <MODULE TTCN x x.ttcn>
6119 var charstring myArr[2][4];
6120 myArr[1]:= { "EEE", "MUHAHA", "AIYYO", "GERAPPA"};
6123 myArr[2][6]:= "ERIXON";
6127 <RESULT IF_FAIL NEGATIVE>
6134 .*---------------------------------------------------------------------*
6135 :h4.Overindexing - timer-array overindexing (in control part)
6136 .*---------------------------------------------------------------------*
6139 <TC - Overindexing - timer-array overindexing (in control part)>
6143 <MODULE TTCN x x.ttcn>
6147 timer myArr[2][4]:= {{ 1.0, 2.0, 3.0, 4.0 }, { 1.0, 2.0, 3.0, 4.0 }};
6149 const integer i:= 5;
6152 f.start( myArr[1][i].read);
6156 <RESULT IF_PASS COUNT 1>
6157 (?im)\berror\b.+?index.+?overflow
6159 <RESULT IF_PASS COUNT 1>
6166 .*---------------------------------------------------------------------*
6167 :h4.Overindexing - timer-array overindexing (in function)
6168 .*---------------------------------------------------------------------*
6171 <TC - Overindexing - timer-array overindexing (in function)>
6175 <MODULE TTCN x x.ttcn>
6179 timer myArr[2][4]:= {{ 1.0, 2.0, 3.0, 4.0 }, { 1.0, 2.0, 3.0, 4.0 }};
6181 const integer i:= 5;
6184 f.start( myArr[1][i].read);
6188 <RESULT IF_PASS COUNT 1>
6189 (?im)\berror\b.+?index.+?overflow
6191 <RESULT IF_PASS COUNT 1>
6198 .*---------------------------------------------------------------------*
6199 :h4.Overindexing - port-array overindexing (in function)
6200 .*---------------------------------------------------------------------*
6203 <TC - Overindexing - port-array overindexing (in function>
6207 <MODULE TTCN x x.ttcn>
6210 type port myport message{
6214 type component mycomp{
6215 port myport ports[5]
6218 function myFunc() runs on mycomp{
6223 <RESULT IF_PASS COUNT 1>
6224 (?im)\berror\b.+?index.+?overflow
6226 <RESULT IF_PASS COUNT 1>
6233 .*---------------------------------------------------------------------*
6234 :h4.Overindexing - ranged-array overindexing (integer in control part)
6235 .*---------------------------------------------------------------------*
6238 <TC - Overindexing - ranged-array overindexing (integer in control part)>
6242 <MODULE TTCN x x.ttcn>
6246 var integer myArr[2..4][5..8];
6249 var integer f:= myArr[6][9];
6253 <RESULT IF_FAIL NEGATIVE>
6260 .*---------------------------------------------------------------------*
6261 :h4.Overindexing - ranged-array overindexing (float in function)
6262 .*---------------------------------------------------------------------*
6265 <TC - Overindexing - ranged-array overindexing (float in function)>
6269 <MODULE TTCN x x.ttcn>
6272 const integer i:= 6;
6273 const integer j:= 10;
6276 var float myArr[2..4][5..8];
6283 <RESULT IF_FAIL NEGATIVE>
6290 .*---------------------------------------------------------------------*
6291 :h4.Overindexing - ranged timer-array overindexing (in control part)
6292 .*---------------------------------------------------------------------*
6295 <TC - Overindexing - ranged timer-array overindexing (in control part)>
6299 <MODULE TTCN x x.ttcn>
6303 timer myArr[2..3][4..7]:= {{ 1.0, 2.0, 3.0, 4.0 }, { 1.0, 2.0, 3.0, 4.0 }};
6305 const integer i:= 9;
6308 f.start( myArr[2][i].read);
6312 <RESULT IF_PASS COUNT 1>
6313 (?im)\berror\b.+?index.+?overflow
6315 <RESULT IF_PASS COUNT 1>
6322 .*---------------------------------------------------------------------*
6323 :h4.Overindexing - ranged timer-array overindexing (in function)
6324 .*---------------------------------------------------------------------*
6327 <TC - Overindexing - ranged timer-array overindexing (in function)>
6331 <MODULE TTCN x x.ttcn>
6335 timer myArr[2..3][4..7]:= {{ 1.0, 2.0, 3.0, 4.0 }, { 1.0, 2.0, 3.0, 4.0 }};
6337 const integer i:= 9;
6340 f.start( myArr[2][i].read);
6344 <RESULT IF_PASS COUNT 1>
6345 (?im)\berror\b.+?index.+?overflow
6347 <RESULT IF_PASS COUNT 1>
6354 .*---------------------------------------------------------------------*
6355 :h4.Overindexing - ranged port-array overindexing (in function)
6356 .*---------------------------------------------------------------------*
6359 <TC - Overindexing - ranged port-array overindexing (in function>
6363 <MODULE TTCN x x.ttcn>
6366 type port myport message{
6370 type component mycomp{
6371 port myport ports[5..6]
6374 function myFunc() runs on mycomp{
6379 <RESULT IF_PASS COUNT 1>
6380 (?im)\berror\b.+?index.+?overflow
6382 <RESULT IF_PASS COUNT 1>
6389 .*---------------------------------------------------------------------*
6390 :h4.Overindexing - ranged-array underindexing (integer in control part)
6391 .*---------------------------------------------------------------------*
6394 <TC - Overindexing - ranged-array underindexing (integer in control part)>
6398 <MODULE TTCN x x.ttcn>
6402 var integer myArr[2..4][5..8];
6405 var integer f:= myArr[1][3];
6409 <RESULT IF_FAIL NEGATIVE>
6416 .*---------------------------------------------------------------------*
6417 :h4.Overindexing - ranged-array underindexing (integer in function)
6418 .*---------------------------------------------------------------------*
6421 <TC - Overindexing - ranged-array underindexing (integer in function)>
6425 <MODULE TTCN x x.ttcn>
6428 type integer myint[5..6];
6431 var myint f := {1,2};
6436 <RESULT IF_PASS COUNT 1>
6437 (?im)\berror\b.+?index.+?underflow
6439 <RESULT IF_PASS COUNT 1>
6447 .*---------------------------------------------------------------------*
6448 :h4.Overindexing - ranged-array underindexing (float in function)
6449 .*---------------------------------------------------------------------*
6452 <TC - Overindexing - ranged-array underindexing (float in function)>
6456 <MODULE TTCN x x.ttcn>
6459 const integer i:= 0;
6460 const integer j:= 4;
6463 var float myArr[2..4][5..8];
6470 <RESULT IF_FAIL NEGATIVE>
6477 .*---------------------------------------------------------------------*
6478 :h4.Overindexing - ranged timer-array underindexing (in control part)
6479 .*---------------------------------------------------------------------*
6482 <TC - Overindexing - ranged timer-array underindexing (in control part)>
6486 <MODULE TTCN x x.ttcn>
6490 timer myArr[2..3][4..7]:= {{ 1.0, 2.0, 3.0, 4.0 }, { 1.0, 2.0, 3.0, 4.0 }};
6492 const integer i:= 1;
6495 f.start( myArr[i][6].read);
6499 <RESULT IF_PASS COUNT 1>
6500 (?im)\berror\b.+?index.+?underflow
6502 <RESULT IF_PASS COUNT 1>
6509 .*---------------------------------------------------------------------*
6510 :h4.Overindexing - ranged timer-array underindexing (in function)
6511 .*---------------------------------------------------------------------*
6514 <TC - Overindexing - ranged timer-array underindexing (in function)>
6518 <MODULE TTCN x x.ttcn>
6522 timer myArr[2..3][4..7]:= {{ 1.0, 2.0, 3.0, 4.0 }, { 1.0, 2.0, 3.0, 4.0 }};
6524 const integer i:= 2;
6527 f.start( myArr[2][i].read);
6531 <RESULT IF_PASS COUNT 1>
6532 (?im)\berror\b.+?index.+?underflow
6534 <RESULT IF_PASS COUNT 1>
6541 .*---------------------------------------------------------------------*
6542 :h4.Overindexing - ranged port-array underindexing (in function)
6543 .*---------------------------------------------------------------------*
6546 <TC - Overindexing - ranged port-array underindexing (in function)>
6550 <MODULE TTCN x x.ttcn>
6553 type port myport message{
6557 type component mycomp{
6558 port myport ports[5..6]
6561 function myFunc() runs on mycomp{
6566 <RESULT IF_PASS COUNT 1>
6567 (?im)\berror\b.+?index.+?underflow
6569 <RESULT IF_PASS COUNT 1>
6576 .*---------------------------------------------------------------------*
6577 :h3.Negative timer duration
6578 .*---------------------------------------------------------------------*
6580 This test case group covers the requirement SA-6/17.
6582 Strategy: A timer declaration may have an optional default duration value assigned to it. The timer shall be started with this
6583 value if no other value is specified. This value shall be positive, but we can use constants too. Same is true for timer
6584 arrays and the oprional timer of the execute operation.
6585 All occurances shall be tested, where such a notation can be used.
6589 :li D='-'.timer default values in control part and function
6590 :li D='-'.timer starting values in control part and function
6591 :li D='-'.timer-array default values in control part and function
6592 :li D='-'.timer-array starting values in control part and function
6593 :li D='-'.execution timer
6596 .*---------------------------------------------------------------------*
6597 :h4.Negative timer duration - default (in control part)
6598 .*---------------------------------------------------------------------*
6601 <TC - Negative timer duration - default (in control part)>
6605 <MODULE TTCN x x.ttcn>
6613 <RESULT IF_PASS COUNT 1>
6614 (?im)error.+?non-negative.+?float.+?value.+?expected
6616 <RESULT IF_PASS COUNT 1>
6623 .*---------------------------------------------------------------------*
6624 :h4.Negative timer duration - default (in function)
6625 .*---------------------------------------------------------------------*
6628 <TC - Negative timer duration - default (in function)>
6632 <MODULE TTCN x x.ttcn>
6635 const float f:= -2.22;
6642 <RESULT IF_PASS COUNT 1>
6643 (?im)error.+?non-negative.+?float.+?value.+?expected
6645 <RESULT IF_PASS COUNT 1>
6652 .*---------------------------------------------------------------------*
6653 :h4.Negative timer duration - array default (in control part)
6654 .*---------------------------------------------------------------------*
6657 <TC - Negative timer duration - array default (in control part)>
6661 <MODULE TTCN x x.ttcn>
6665 timer T[5]:= { 1.0, 8.9, -3.14, 1.1, 1.5 };
6669 <RESULT IF_PASS COUNT 1>
6670 (?im)error.+?non-negative.+?float.+?value.+?expected
6672 <RESULT IF_PASS COUNT 1>
6679 .*---------------------------------------------------------------------*
6680 :h4.Negative timer duration - array default (in function)
6681 .*---------------------------------------------------------------------*
6684 <TC - Negative timer duration - array default (in function)>
6688 <MODULE TTCN x x.ttcn>
6691 const float f:= -2.22;
6694 timer T[5]:= { 1.0, f, 3.14, -, 1.5 };
6698 <RESULT IF_PASS COUNT 1>
6699 (?im)error.+?non-negative.+?float.+?value.+?expected
6701 <RESULT IF_PASS COUNT 1>
6708 .*---------------------------------------------------------------------*
6709 :h4.Negative timer duration - starting value (in control part)
6710 .*---------------------------------------------------------------------*
6713 <TC - Negative timer duration - starting value (in control part)>
6717 <MODULE TTCN x x.ttcn>
6727 <RESULT IF_PASS COUNT 1>
6728 (?im)error.+?timer.+?duration.+?negative
6730 <RESULT IF_PASS COUNT 1>
6737 .*---------------------------------------------------------------------*
6738 :h4.Negative timer duration - starting value (in function)
6739 .*---------------------------------------------------------------------*
6742 <TC - Negative timer duration - starting value (in function)>
6746 <MODULE TTCN x x.ttcn>
6749 const float f:= -66.3;
6758 <RESULT IF_PASS COUNT 1>
6759 (?im)error.+?timer.+?duration.+?negative
6761 <RESULT IF_PASS COUNT 1>
6768 .*---------------------------------------------------------------------*
6769 :h4.Negative timer duration - array starting value (in control part)
6770 .*---------------------------------------------------------------------*
6773 <TC - Negative timer duration - array starting value (in control part)>
6777 <MODULE TTCN x x.ttcn>
6781 timer T[5]:= { 1.0, 8.9, 3.14, 1.1, 1.5 };
6783 T[1].start( - 125.0 );
6787 <RESULT IF_PASS COUNT 1>
6788 (?im)error.+?timer.+?duration.+?negative
6790 <RESULT IF_PASS COUNT 1>
6797 .*---------------------------------------------------------------------*
6798 :h4.Negative timer duration - array starting value (in function)
6799 .*---------------------------------------------------------------------*
6802 <TC - Negative timer duration - array starting value (in function)>
6806 <MODULE TTCN x x.ttcn>
6809 const float f:= -18.07;
6812 timer T[5]:= { 3.3, 3.4, 3.14, 4.1, 2.3 };
6818 <RESULT IF_PASS COUNT 1>
6819 (?im)error.+?timer.+?duration.+?negative
6821 <RESULT IF_PASS COUNT 1>
6828 .*---------------------------------------------------------------------*
6829 :h4.Negative timer duration - execution timer
6830 .*---------------------------------------------------------------------*
6833 <TC - Negative timer duration - execution timer>
6837 <MODULE TTCN x x.ttcn>
6840 type component myComponent{
6841 const integer i:= 1;
6850 testcase myTestCase() runs on myComponent{
6857 execute( myTestCase(), -5.3 );
6862 <RESULT IF_PASS COUNT 1>
6863 (?im)error.+?testcase.+?guard.+?timer.+?negative.+?duration
6865 <RESULT IF_PASS COUNT 1>
6872 .*---------------------------------------------------------------------*
6873 :h3.Default module parameters
6874 .*---------------------------------------------------------------------*
6876 This test case group covers the requirement SA-6/18.
6878 Strategy: Default values of module parameters shall be constant expression only.
6879 All occurances shall be tested, where such a notation can be used.
6883 :li D='-'.module parameters with inner function
6884 :li D='-'.module parameters with hand-made function
6887 .*---------------------------------------------------------------------*
6888 :h4.Default module parameters - inner function
6889 .*---------------------------------------------------------------------*
6892 <TC - Default module parameters - inner function>
6896 <MODULE TTCN x x.ttcn>
6899 modulepar { integer i:= float2int( rnd()); charstring ch:= "aiyyo" };
6902 <RESULT IF_PASS COUNT 1>
6903 (?im)error.+?evaluable.+?constant.+?value.+?expected.+?instead.+?of.+?operation
6905 <RESULT IF_PASS COUNT 1>
6912 .*---------------------------------------------------------------------*
6913 :h4.Default module parameters - hand-made function
6914 .*---------------------------------------------------------------------*
6917 <TC - Default module parameters - hand-made function>
6921 <MODULE TTCN x x.ttcn>
6924 function myFunct() return charstring{
6928 modulepar { integer i:= 3; charstring ch:= "aiyyo" & myFunct() };
6932 <RESULT IF_PASS COUNT 1>
6933 (?im)error.+?Reference.+?constant.+?value.+?expected
6935 <RESULT IF_PASS COUNT 1>
6942 .*---------------------------------------------------------------------*
6943 :h2.Variable references
6944 .*---------------------------------------------------------------------*
6946 Rule: each variable reference shall conform to the context-specific rules
6948 .*---------------------------------------------------------------------*
6949 :h3.No value shall be assigned to constant elements
6950 .*---------------------------------------------------------------------*
6952 This test case group covers the requirement SA-6/19.
6954 Strategy: can't change the value of constants, external constants and module parameters.
6955 All occurances shall be tested, where such a notation can be used.
6959 :li D='-'.constants, external constants and module parameters in control part and function with ":="
6960 :li D='-'.constants, external constants and module parameters in function with "-> value"
6963 .*---------------------------------------------------------------------*
6964 :h4.No value shall be assigned to constant elements - const in control part (:=)
6965 .*---------------------------------------------------------------------*
6968 <TC - No value shall be assigned to constant elements - const in control part (:=)>
6972 <MODULE TTCN x x.ttcn>
6975 const integer c:= 1;
6983 <RESULT IF_PASS COUNT 1>
6984 (?im)error.+?Reference.+?variable.+?template.+?expected
6986 <RESULT IF_PASS COUNT 1>
6993 .*---------------------------------------------------------------------*
6994 :h4.No value shall be assigned to constant elements - const in function (:=)
6995 .*---------------------------------------------------------------------*
6998 <TC - No value shall be assigned to constant elements - const in function (:=)>
7002 <MODULE TTCN x x.ttcn>
7005 const integer c:= 1;
7013 <RESULT IF_PASS COUNT 1>
7014 (?im)error.+?Reference.+?variable.+?template.+?expected
7016 <RESULT IF_PASS COUNT 1>
7023 .*---------------------------------------------------------------------*
7024 :h4.No value shall be assigned to constant elements - const in function ( -> value)
7025 .*---------------------------------------------------------------------*
7028 <TC - No value shall be assigned to constant elements - const in function ( -> value)>
7032 <MODULE TTCN x x.ttcn>
7035 const integer c:= 2;
7037 type port portT message {
7039 } with {extension "internal"}
7041 type component comp {
7045 function myFunct() runs on comp {
7046 myPort.receive( ?) -> value c;
7051 <RESULT IF_PASS COUNT 1>
7052 (?im)error.+?Reference.+?variable.+?value.+?parameter.+?expected
7054 <RESULT IF_PASS COUNT 1>
7061 .*---------------------------------------------------------------------*
7062 :h4.No value shall be assigned to constant elements - external const in control part (:=)
7063 .*---------------------------------------------------------------------*
7066 <TC - No value shall be assigned to constant elements - external const in control part (:=)>
7070 <MODULE TTCN x x.ttcn>
7073 external const integer c;
7081 <RESULT IF_PASS COUNT 1>
7082 (?im)error.+?Reference.+?variable.+?template.+?expected
7084 <RESULT IF_PASS COUNT 1>
7091 .*---------------------------------------------------------------------*
7092 :h4.No value shall be assigned to constant elements - external const in function (:=)
7093 .*---------------------------------------------------------------------*
7096 <TC - No value shall be assigned to constant elements - external const in function (:=)>
7100 <MODULE TTCN x x.ttcn>
7103 external const integer c;
7111 <RESULT IF_PASS COUNT 1>
7112 (?im)error.+?Reference.+?variable.+?template.+?expected
7114 <RESULT IF_PASS COUNT 1>
7121 .*---------------------------------------------------------------------*
7122 :h4.No value shall be assigned to constant elements - external const in function ( -> value)
7123 .*---------------------------------------------------------------------*
7126 <TC - No value shall be assigned to constant elements - external const in function ( -> value)>
7130 <MODULE TTCN x x.ttcn>
7133 external const integer c;
7135 type port portT message {
7137 } with {extension "internal"}
7139 type component comp {
7143 function myFunct() runs on comp {
7144 myPort.receive( ?) -> value c;
7149 <RESULT IF_PASS COUNT 1>
7150 (?im)error.+?Reference.+?variable.+?value.+?parameter.+?expected
7152 <RESULT IF_PASS COUNT 1>
7159 .*---------------------------------------------------------------------*
7160 :h4.No value shall be assigned to constant elements - module parameter in control part (:=)
7161 .*---------------------------------------------------------------------*
7164 <TC - No value shall be assigned to constant elements - module parameter in control part (:=)>
7168 <MODULE TTCN x x.ttcn>
7180 <RESULT IF_PASS COUNT 1>
7181 (?im)error.+?Reference.+?variable.+?template.+?expected
7183 <RESULT IF_PASS COUNT 1>
7190 .*---------------------------------------------------------------------*
7191 :h4.No value shall be assigned to constant elements - module parameter in function (:=)
7192 .*---------------------------------------------------------------------*
7195 <TC - No value shall be assigned to constant elements - module parameter in function (:=)>
7199 <MODULE TTCN x x.ttcn>
7211 <RESULT IF_PASS COUNT 1>
7212 (?im)error.+?Reference.+?variable.+?template.+?expected
7214 <RESULT IF_PASS COUNT 1>
7221 .*---------------------------------------------------------------------*
7222 :h4.No value shall be assigned to constant elements - module parameter in function (-> value)
7223 .*---------------------------------------------------------------------*
7226 <TC - No value shall be assigned to constant elements - module parameter in function (-> value)>
7230 <MODULE TTCN x x.ttcn>
7237 type port portT message {
7239 } with {extension "internal"}
7241 type component comp {
7245 function myFunct() runs on comp {
7246 myPort.receive( ?) -> value c;
7251 <RESULT IF_PASS COUNT 1>
7252 (?im)error.+?Reference.+?variable.+?value.+?parameter.+?expected
7254 <RESULT IF_PASS COUNT 1>
7261 .*---------------------------------------------------------------------*
7262 :h2.Allowed matching mechanisms
7263 .*---------------------------------------------------------------------*
7264 .*---------------------------------------------------------------------*
7265 :h3.Allowed matching mechanisms
7266 .*---------------------------------------------------------------------*
7268 This test case group covers the requirement SA-6/20.
7270 Strategy: SA shall detect if a template of a type uses not allowed matching mechanism.(Table 6, side 68)
7271 Either can be used the following operations: create (99), mtc (101),
7272 system (101), self (101), running (102), getverdict (123)
7274 All occurances shall be tested, where such a notation can be used.
7276 Tested: range, superset, subset, length-restriction, ifpresent mechanisms in definition part, control part and function for
7277 templates and range, superset, subset, length-restriction, ifpresent mechanisms in function for inline-templates
7280 - "inside values" columns are not tested
7282 .*---------------------------------------------------------------------*
7283 :h4.Allowed matching mechanisms - template range (boolean in def.part)
7284 .*---------------------------------------------------------------------*
7287 <TC - Allowed matching mechanisms - template range (boolean in def.part)>
7291 <MODULE TTCN x x.ttcn>
7294 template boolean r:= (false .. true);
7298 <RESULT IF_PASS COUNT 1>
7299 (?im)error.+?value.+?range.+?match.+?cannot.+?used
7301 <RESULT IF_PASS COUNT 1>
7308 .*---------------------------------------------------------------------*
7309 :h4.Allowed matching mechanisms - template range (boolean in control part)
7310 .*---------------------------------------------------------------------*
7313 <TC - Allowed matching mechanisms - template range (boolean in control part)>
7317 <MODULE TTCN x x.ttcn>
7321 var template boolean r:= (false .. true);
7326 <RESULT IF_PASS COUNT 1>
7327 (?im)error.+?value.+?range.+?match.+?cannot.+?used
7329 <RESULT IF_PASS COUNT 1>
7336 .*---------------------------------------------------------------------*
7337 :h4.Allowed matching mechanisms - template range (boolean in function)
7338 .*---------------------------------------------------------------------*
7341 <TC - Allowed matching mechanisms - template range (boolean in function)>
7345 <MODULE TTCN x x.ttcn>
7349 var template boolean r:= (false .. true);
7354 <RESULT IF_PASS COUNT 1>
7355 (?im)error.+?value.+?range.+?match.+?cannot.+?used
7357 <RESULT IF_PASS COUNT 1>
7364 .*---------------------------------------------------------------------*
7365 :h4.Allowed matching mechanisms - template range (bitstring in def.part)
7366 .*---------------------------------------------------------------------*
7369 <TC - Allowed matching mechanisms - template range (bitstring in def.part)>
7373 <MODULE TTCN x x.ttcn>
7376 template bitstring r:= ('000'B .. '111'B);
7380 <RESULT IF_PASS COUNT 1>
7381 (?im)error.+?Value.+?range.+?match.+?cannot.+?used
7383 <RESULT IF_PASS COUNT 1>
7390 .*---------------------------------------------------------------------*
7391 :h4.Allowed matching mechanisms - template range (bitstring in control part)
7392 .*---------------------------------------------------------------------*
7395 <TC - Allowed matching mechanisms - template range (bitstring in control part)>
7399 <MODULE TTCN x x.ttcn>
7403 var template bitstring r:= ('000'B .. '111'B);
7408 <RESULT IF_PASS COUNT 1>
7409 (?im)error.+?Value.+?range.+?match.+?cannot.+?used
7411 <RESULT IF_PASS COUNT 1>
7418 .*---------------------------------------------------------------------*
7419 :h4.Allowed matching mechanisms - template range (bitstring in function)
7420 .*---------------------------------------------------------------------*
7423 <TC - Allowed matching mechanisms - template range (bitstring in function)>
7427 <MODULE TTCN x x.ttcn>
7431 var template bitstring r:= ('000'B .. '111'B);
7436 <RESULT IF_PASS COUNT 1>
7437 (?im)error.+?Value.+?range.+?match.+?cannot.+?used
7439 <RESULT IF_PASS COUNT 1>
7446 .*---------------------------------------------------------------------*
7447 :h4.Allowed matching mechanisms - template range (octetstring in def.part)
7448 .*---------------------------------------------------------------------*
7451 <TC - Allowed matching mechanisms - template range (octetstring in def.part)>
7455 <MODULE TTCN x x.ttcn>
7458 template octetstring r:= ('0011'O .. '1111'O);
7462 <RESULT IF_PASS COUNT 1>
7463 (?im)error.+?Value.+?range.+?match.+?cannot.+?used
7465 <RESULT IF_PASS COUNT 1>
7472 .*---------------------------------------------------------------------*
7473 :h4.Allowed matching mechanisms - template range (octetstring in control part)
7474 .*---------------------------------------------------------------------*
7477 <TC - Allowed matching mechanisms - template range (octetstring in control part)>
7481 <MODULE TTCN x x.ttcn>
7485 var template octetstring r:= ('0011'O .. '1111'O);
7490 <RESULT IF_PASS COUNT 1>
7491 (?im)error.+?Value.+?range.+?match.+?cannot.+?used
7493 <RESULT IF_PASS COUNT 1>
7500 .*---------------------------------------------------------------------*
7501 :h4.Allowed matching mechanisms - template range (octetstring in function)
7502 .*---------------------------------------------------------------------*
7505 <TC - Allowed matching mechanisms - template range (octetstring in function)>
7509 <MODULE TTCN x x.ttcn>
7513 var template octetstring r:= ('0011'O .. '1111'O);
7518 <RESULT IF_PASS COUNT 1>
7519 (?im)error.+?Value.+?range.+?match.+?cannot.+?used
7521 <RESULT IF_PASS COUNT 1>
7528 .*---------------------------------------------------------------------*
7529 :h4.Allowed matching mechanisms - template range (hexstring in def.part)
7530 .*---------------------------------------------------------------------*
7533 <TC - Allowed matching mechanisms - template range (hexstring in def.part)>
7537 <MODULE TTCN x x.ttcn>
7540 template hexstring r:= ('0011'H .. '1111'H);
7544 <RESULT IF_PASS COUNT 1>
7545 (?im)error.+?Value.+?range.+?match.+?cannot.+?used
7547 <RESULT IF_PASS COUNT 1>
7554 .*---------------------------------------------------------------------*
7555 :h4.Allowed matching mechanisms - template range (hexstring in control part)
7556 .*---------------------------------------------------------------------*
7559 <TC - Allowed matching mechanisms - template range (hexstring in control part)>
7563 <MODULE TTCN x x.ttcn>
7567 var template hexstring r:= ('0011'H .. '1111'H);
7572 <RESULT IF_PASS COUNT 1>
7573 (?im)error.+?Value.+?range.+?match.+?cannot.+?used
7575 <RESULT IF_PASS COUNT 1>
7582 .*---------------------------------------------------------------------*
7583 :h4.Allowed matching mechanisms - template range (hexstring in function)
7584 .*---------------------------------------------------------------------*
7587 <TC - Allowed matching mechanisms - template range (hexstring in function)>
7591 <MODULE TTCN x x.ttcn>
7595 var template hexstring r:= ('0011'H .. '1111'H);
7600 <RESULT IF_PASS COUNT 1>
7601 (?im)error.+?Value.+?range.+?match.+?cannot.+?used
7603 <RESULT IF_PASS COUNT 1>
7610 .*---------------------------------------------------------------------*
7611 :h4.Allowed matching mechanisms - template range (record in def.part)
7612 .*---------------------------------------------------------------------*
7615 <TC - Allowed matching mechanisms - template range (record in def.part)>
7619 <MODULE TTCN x x.ttcn>
7627 const recT c1:= { f1:= 1, f2:= 2.0};
7628 const recT c2:= { f1:= 5, f2:= 7.0};
7630 template recT r:= (c1 .. c2);
7634 <RESULT IF_PASS COUNT 1>
7635 (?im)error.+?value.+?range.+?match.+?cannot.+?used
7637 <RESULT IF_PASS COUNT 1>
7644 .*---------------------------------------------------------------------*
7645 :h4.Allowed matching mechanisms - template range (record in control part)
7646 .*---------------------------------------------------------------------*
7649 <TC - Allowed matching mechanisms - template range (record in control part)>
7653 <MODULE TTCN x x.ttcn>
7661 const recT c1:= { f1:= 1, f2:= 2.0};
7662 const recT c2:= { f1:= 5, f2:= 7.0};
7665 var template recT r:= (c1 .. c2);
7670 <RESULT IF_PASS COUNT 1>
7671 (?im)error.+?value.+?range.+?match.+?cannot.+?used
7673 <RESULT IF_PASS COUNT 1>
7680 .*---------------------------------------------------------------------*
7681 :h4.Allowed matching mechanisms - template range (record in function)
7682 .*---------------------------------------------------------------------*
7685 <TC - Allowed matching mechanisms - template range (record in function)>
7689 <MODULE TTCN x x.ttcn>
7697 const recT c1:= { f1:= 1, f2:= 2.0};
7698 const recT c2:= { f1:= 5, f2:= 7.0};
7701 var template recT r:= (c1 .. c2);
7706 <RESULT IF_PASS COUNT 1>
7707 (?im)error.+?value.+?range.+?match.+?cannot.+?used
7709 <RESULT IF_PASS COUNT 1>
7716 .*---------------------------------------------------------------------*
7717 :h4.Allowed matching mechanisms - template range (record of in def.part)
7718 .*---------------------------------------------------------------------*
7721 <TC - Allowed matching mechanisms - template range (record of in def.part)>
7725 <MODULE TTCN x x.ttcn>
7728 type record of integer rofT;
7730 const rofT c1:= { 1, 2, 3 };
7731 const rofT c2:= { 4, 5, 6 };
7733 template rofT r:= (c1 .. c2);
7737 <RESULT IF_PASS COUNT 1>
7738 (?im)error.+?value.+?range.+?match.+?cannot.+?used
7740 <RESULT IF_PASS COUNT 1>
7747 .*---------------------------------------------------------------------*
7748 :h4.Allowed matching mechanisms - template range (record of in control part)
7749 .*---------------------------------------------------------------------*
7752 <TC - Allowed matching mechanisms - template range (record of in control part)>
7756 <MODULE TTCN x x.ttcn>
7759 type record of integer rofT;
7761 const rofT c1:= { 1, 2, 3 };
7762 const rofT c2:= { 4, 5, 6 };
7765 var template rofT r:= (c1 .. c2);
7770 <RESULT IF_PASS COUNT 1>
7771 (?im)error.+?value.+?range.+?match.+?cannot.+?used
7773 <RESULT IF_PASS COUNT 1>
7780 .*---------------------------------------------------------------------*
7781 :h4.Allowed matching mechanisms - template range (record of in function)
7782 .*---------------------------------------------------------------------*
7785 <TC - Allowed matching mechanisms - template range (record of in function)>
7789 <MODULE TTCN x x.ttcn>
7792 type record of integer rofT;
7794 const rofT c1:= { 1, 2, 3 };
7795 const rofT c2:= { 4, 5, 6 };
7798 var template rofT r:= (c1 .. c2);
7803 <RESULT IF_PASS COUNT 1>
7804 (?im)error.+?value.+?range.+?match.+?cannot.+?used
7806 <RESULT IF_PASS COUNT 1>
7813 .*---------------------------------------------------------------------*
7814 :h4.Allowed matching mechanisms - template range (set in def.part)
7815 .*---------------------------------------------------------------------*
7818 <TC - Allowed matching mechanisms - template range (set in def.part)>
7822 <MODULE TTCN x x.ttcn>
7830 const setT c1:= { f1:= 1, f2:= 2.0};
7831 const setT c2:= { f1:= 5, f2:= 7.0};
7834 template setT r:= (c1 .. c2);
7838 <RESULT IF_PASS COUNT 1>
7839 (?im)error.+?value.+?range.+?match.+?cannot.+?used
7841 <RESULT IF_PASS COUNT 1>
7848 .*---------------------------------------------------------------------*
7849 :h4.Allowed matching mechanisms - template range (set in control part)
7850 .*---------------------------------------------------------------------*
7853 <TC - Allowed matching mechanisms - template range (set in control part)>
7857 <MODULE TTCN x x.ttcn>
7865 const setT c1:= { f1:= 1, f2:= 2.0};
7866 const setT c2:= { f1:= 5, f2:= 7.0};
7870 var template setT r:= (c1 .. c2);
7875 <RESULT IF_PASS COUNT 1>
7876 (?im)error.+?value.+?range.+?match.+?cannot.+?used
7878 <RESULT IF_PASS COUNT 1>
7885 .*---------------------------------------------------------------------*
7886 :h4.Allowed matching mechanisms - template range (set in function)
7887 .*---------------------------------------------------------------------*
7890 <TC - Allowed matching mechanisms - template range (set in function)>
7894 <MODULE TTCN x x.ttcn>
7902 const setT c1:= { f1:= 1, f2:= 2.0};
7903 const setT c2:= { f1:= 5, f2:= 7.0};
7907 var template setT r:= (c1 .. c2);
7912 <RESULT IF_PASS COUNT 1>
7913 (?im)error.+?value.+?range.+?match.+?cannot.+?used
7915 <RESULT IF_PASS COUNT 1>
7922 .*---------------------------------------------------------------------*
7923 :h4.Allowed matching mechanisms - template range (set of in def.part)
7924 .*---------------------------------------------------------------------*
7927 <TC - Allowed matching mechanisms - template range (set of in def.part)>
7931 <MODULE TTCN x x.ttcn>
7934 type set of integer sofT;
7936 const sofT c1:= { 1, 2, 3 };
7937 const sofT c2:= { 4, 5, 6 };
7940 template sofT r:= (c1 .. c2);
7944 <RESULT IF_PASS COUNT 1>
7945 (?im)error.+?value.+?range.+?match.+?cannot.+?used
7947 <RESULT IF_PASS COUNT 1>
7954 .*---------------------------------------------------------------------*
7955 :h4.Allowed matching mechanisms - template range (set of in control part)
7956 .*---------------------------------------------------------------------*
7959 <TC - Allowed matching mechanisms - template range (set of in control part)>
7963 <MODULE TTCN x x.ttcn>
7966 type set of integer sofT;
7968 const sofT c1:= { 1, 2, 3 };
7969 const sofT c2:= { 4, 5, 6 };
7973 var template sofT r:= (c1 .. c2);
7978 <RESULT IF_PASS COUNT 1>
7979 (?im)error.+?value.+?range.+?match.+?cannot.+?used
7981 <RESULT IF_PASS COUNT 1>
7988 .*---------------------------------------------------------------------*
7989 :h4.Allowed matching mechanisms - template range (set of in function)
7990 .*---------------------------------------------------------------------*
7993 <TC - Allowed matching mechanisms - template range (set of in function)>
7997 <MODULE TTCN x x.ttcn>
8000 type set of integer sofT;
8002 const sofT c1:= { 1, 2, 3 };
8003 const sofT c2:= { 4, 5, 6 };
8007 var template sofT r:= (c1 .. c2);
8012 <RESULT IF_PASS COUNT 1>
8013 (?im)error.+?value.+?range.+?match.+?cannot.+?used
8015 <RESULT IF_PASS COUNT 1>
8022 .*---------------------------------------------------------------------*
8023 :h4.Allowed matching mechanisms - template range (enumerated in def.part)
8024 .*---------------------------------------------------------------------*
8027 <TC - Allowed matching mechanisms - template range (enumerated in def.part)>
8031 <MODULE TTCN x x.ttcn>
8034 type enumerated enumT{ ONE(1), TWO(2), THREE(3)};
8036 const enumT c1:= ONE;
8037 const enumT c2:= THREE;
8039 template enumT r:= (c1 .. c2);
8043 <RESULT IF_PASS COUNT 1>
8044 (?im)error.+?value.+?range.+?match.+?cannot.+?used
8046 <RESULT IF_PASS COUNT 1>
8053 .*---------------------------------------------------------------------*
8054 :h4.Allowed matching mechanisms - template range (enumerated in control part)
8055 .*---------------------------------------------------------------------*
8058 <TC - Allowed matching mechanisms - template range (enumerated in control part)>
8062 <MODULE TTCN x x.ttcn>
8065 type enumerated enumT{ ONE(1), TWO(2), THREE(3)};
8067 const enumT c1:= ONE;
8068 const enumT c2:= THREE;
8071 var template enumT r:= (c1 .. c2);
8076 <RESULT IF_PASS COUNT 1>
8077 (?im)error.+?value.+?range.+?match.+?cannot.+?used
8079 <RESULT IF_PASS COUNT 1>
8086 .*---------------------------------------------------------------------*
8087 :h4.Allowed matching mechanisms - template range (enumerated in function)
8088 .*---------------------------------------------------------------------*
8091 <TC - Allowed matching mechanisms - template range (enumerated in function)>
8095 <MODULE TTCN x x.ttcn>
8098 type enumerated enumT{ ONE(1), TWO(2), THREE(3)};
8100 const enumT c1:= ONE;
8101 const enumT c2:= THREE;
8104 var template enumT r:= (c1 .. c2);
8109 <RESULT IF_PASS COUNT 1>
8110 (?im)error.+?value.+?range.+?match.+?cannot.+?used
8112 <RESULT IF_PASS COUNT 1>
8119 .*---------------------------------------------------------------------*
8120 :h4.Allowed matching mechanisms - template range (union in def.part)
8121 .*---------------------------------------------------------------------*
8124 <TC - Allowed matching mechanisms - template range (union in def.part)>
8128 <MODULE TTCN x x.ttcn>
8137 const uniT c1:= { f1:= 1 };
8138 const uniT c2:= { f1:= 5 };
8140 template uniT r:= (c1 .. c2);
8144 <RESULT IF_PASS COUNT 1>
8145 (?im)error.+?value.+?range.+?match.+?cannot.+?used
8147 <RESULT IF_PASS COUNT 1>
8154 .*---------------------------------------------------------------------*
8155 :h4.Allowed matching mechanisms - template range (union in control part)
8156 .*---------------------------------------------------------------------*
8159 <TC - Allowed matching mechanisms - template range (union in control part)>
8163 <MODULE TTCN x x.ttcn>
8172 const uniT c1:= { f1:= 1 };
8173 const uniT c2:= { f1:= 5 };
8176 var template uniT r:= (c1 .. c2);
8181 <RESULT IF_PASS COUNT 1>
8182 (?im)error.+?value.+?range.+?match.+?cannot.+?used
8184 <RESULT IF_PASS COUNT 1>
8191 .*---------------------------------------------------------------------*
8192 :h4.Allowed matching mechanisms - template range (union in function)
8193 .*---------------------------------------------------------------------*
8196 <TC - Allowed matching mechanisms - template range (union in function)>
8200 <MODULE TTCN x x.ttcn>
8209 const uniT c1:= { f1:= 1 };
8210 const uniT c2:= { f1:= 5 };
8213 var template uniT r:= (c1 .. c2);
8218 <RESULT IF_PASS COUNT 1>
8219 (?im)error.+?value.+?range.+?match.+?cannot.+?used
8221 <RESULT IF_PASS COUNT 1>
8228 .*---------------------------------------------------------------------*
8229 :h4.Allowed matching mechanisms - template range (array in def.part)
8230 .*---------------------------------------------------------------------*
8233 <TC - Allowed matching mechanisms - template range (array in def.part)>
8237 <MODULE TTCN x x.ttcn>
8240 type integer myint[1];
8242 const myint c1:={1};
8243 const myint c2 :={3};
8245 template myint r :=(c1..c2);
8249 <RESULT IF_PASS COUNT 1>
8250 (?im)error.+?value.+?range.+?match.+?cannot.+?used
8252 <RESULT IF_PASS COUNT 1>
8259 .*---------------------------------------------------------------------*
8260 :h4.Allowed matching mechanisms - template range (array in control part)
8261 .*---------------------------------------------------------------------*
8264 <TC - Allowed matching mechanisms - template range (array in control part)>
8268 <MODULE TTCN x x.ttcn>
8271 type integer myint[1];
8273 const myint c1:={1};
8274 const myint c2 :={3};
8277 template myint r :=(c1..c2);
8281 <RESULT IF_PASS COUNT 1>
8282 (?im)error.+?value.+?range.+?match.+?cannot.+?used
8284 <RESULT IF_PASS COUNT 1>
8291 .*---------------------------------------------------------------------*
8292 :h4.Allowed matching mechanisms - template range (array in function)
8293 .*---------------------------------------------------------------------*
8296 <TC - Allowed matching mechanisms - template range (array in function)>
8300 <MODULE TTCN x x.ttcn>
8303 type integer myint[1];
8305 const myint c1:={1};
8306 const myint c2 :={3};
8309 template myint r :=(c1..c2);
8313 <RESULT IF_PASS COUNT 1>
8314 (?im)error.+?value.+?range.+?match.+?cannot.+?used
8316 <RESULT IF_PASS COUNT 1>
8323 .*---------------------------------------------------------------------*
8324 :h4.Allowed matching mechanisms - template superset (boolean in def.part)
8325 .*---------------------------------------------------------------------*
8328 <TC - Allowed matching mechanisms - template superset (boolean in def.part)>
8332 <MODULE TTCN x x.ttcn>
8335 const boolean c1:= false;
8336 const boolean c2:= true;
8338 template boolean r:= superset (c1, c2);
8342 <RESULT IF_PASS COUNT 1>
8343 (?im)error.+?superset.+?match.+?cannot.+?used
8345 <RESULT IF_PASS COUNT 1>
8352 .*---------------------------------------------------------------------*
8353 :h4.Allowed matching mechanisms - template superset (boolean in control part)
8354 .*---------------------------------------------------------------------*
8357 <TC - Allowed matching mechanisms - template superset (boolean in control part)>
8361 <MODULE TTCN x x.ttcn>
8364 const boolean c1:= false;
8365 const boolean c2:= true;
8368 var template boolean r:= superset (c1, c2);
8373 <RESULT IF_PASS COUNT 1>
8374 (?im)error.+?superset.+?match.+?cannot.+?used
8376 <RESULT IF_PASS COUNT 1>
8383 .*---------------------------------------------------------------------*
8384 :h4.Allowed matching mechanisms - template superset (boolean in function)
8385 .*---------------------------------------------------------------------*
8388 <TC - Allowed matching mechanisms - template superset (boolean in function)>
8392 <MODULE TTCN x x.ttcn>
8395 const boolean c1:= false;
8396 const boolean c2:= true;
8399 var template boolean r:= superset (c1, c2);
8404 <RESULT IF_PASS COUNT 1>
8405 (?im)error.+?superset.+?match.+?cannot.+?used
8407 <RESULT IF_PASS COUNT 1>
8414 .*---------------------------------------------------------------------*
8415 :h4.Allowed matching mechanisms - template superset (integer in def.part)
8416 .*---------------------------------------------------------------------*
8419 <TC - Allowed matching mechanisms - template superset (integer in def.part)>
8423 <MODULE TTCN x x.ttcn>
8426 const integer c1:= 1;
8427 const integer c2:= 2;
8428 const integer c3:= 3;
8430 template integer r:= superset (c1, c2, c3);
8434 <RESULT IF_PASS COUNT 1>
8435 (?im)error.+?superset.+?match.+?cannot.+?used
8437 <RESULT IF_PASS COUNT 1>
8444 .*---------------------------------------------------------------------*
8445 :h4.Allowed matching mechanisms - template superset (integer in control part)
8446 .*---------------------------------------------------------------------*
8449 <TC - Allowed matching mechanisms - template superset (integer in control part)>
8453 <MODULE TTCN x x.ttcn>
8456 const integer c1:= 1;
8457 const integer c2:= 2;
8458 const integer c3:= 3;
8461 var template integer r:= superset (c1, c2, c3);
8466 <RESULT IF_PASS COUNT 1>
8467 (?im)error.+?superset.+?match.+?cannot.+?used
8469 <RESULT IF_PASS COUNT 1>
8476 .*---------------------------------------------------------------------*
8477 :h4.Allowed matching mechanisms - template superset (integer in function)
8478 .*---------------------------------------------------------------------*
8481 <TC - Allowed matching mechanisms - template superset (integer in function)>
8485 <MODULE TTCN x x.ttcn>
8488 const integer c1:= 1;
8489 const integer c2:= 2;
8490 const integer c3:= 3;
8493 var template integer r:= superset (c1, c2, c3);
8498 <RESULT IF_PASS COUNT 1>
8499 (?im)error.+?superset.+?match.+?cannot.+?used
8501 <RESULT IF_PASS COUNT 1>
8508 .*---------------------------------------------------------------------*
8509 :h4.Allowed matching mechanisms - template superset (float in def.part)
8510 .*---------------------------------------------------------------------*
8513 <TC - Allowed matching mechanisms - template superset (float in def.part)>
8517 <MODULE TTCN x x.ttcn>
8520 const float c1:= 1.6;
8521 const float c2:= 2.4;
8522 const float c3:= 3.9;
8524 template float r:= superset (c1, c2, c3);
8528 <RESULT IF_PASS COUNT 1>
8529 (?im)error.+?superset.+?match.+?cannot.+?used
8531 <RESULT IF_PASS COUNT 1>
8538 .*---------------------------------------------------------------------*
8539 :h4.Allowed matching mechanisms - template superset (float in control part)
8540 .*---------------------------------------------------------------------*
8543 <TC - Allowed matching mechanisms - template superset (float in control part)>
8547 <MODULE TTCN x x.ttcn>
8550 const float c1:= 1.1;
8551 const float c2:= 2.3;
8552 const float c3:= 3.1;
8555 var template float r:= superset (c1, c2, c3);
8560 <RESULT IF_PASS COUNT 1>
8561 (?im)error.+?superset.+?match.+?cannot.+?used
8563 <RESULT IF_PASS COUNT 1>
8570 .*---------------------------------------------------------------------*
8571 :h4.Allowed matching mechanisms - template superset (float in function)
8572 .*---------------------------------------------------------------------*
8575 <TC - Allowed matching mechanisms - template superset (float in function)>
8579 <MODULE TTCN x x.ttcn>
8582 const float c1:= 1.1;
8583 const float c2:= 2.9;
8584 const float c3:= 3.2;
8587 var template float r:= superset (c1, c2, c3);
8592 <RESULT IF_PASS COUNT 1>
8593 (?im)error.+?superset.+?match.+?cannot.+?used
8595 <RESULT IF_PASS COUNT 1>
8602 .*---------------------------------------------------------------------*
8603 :h4.Allowed matching mechanisms - template superset (bitstring in def.part)
8604 .*---------------------------------------------------------------------*
8607 <TC - Allowed matching mechanisms - template superset (bitstring in def.part)>
8611 <MODULE TTCN x x.ttcn>
8614 const bitstring c1:= '101'B;
8615 const bitstring c2:= '110'B;
8616 const bitstring c3:= '111'B;
8618 template bitstring r:= superset (c1, c2, c3);
8622 <RESULT IF_PASS COUNT 1>
8623 (?im)error.+?superset.+?match.+?cannot.+?used
8625 <RESULT IF_PASS COUNT 1>
8632 .*---------------------------------------------------------------------*
8633 :h4.Allowed matching mechanisms - template superset (bitstring in control part)
8634 .*---------------------------------------------------------------------*
8637 <TC - Allowed matching mechanisms - template superset (bitstring in control part)>
8641 <MODULE TTCN x x.ttcn>
8644 const bitstring c1:= '101'B;
8645 const bitstring c2:= '110'B;
8646 const bitstring c3:= '111'B;
8649 var template bitstring r:= superset (c1, c2, c3);
8654 <RESULT IF_PASS COUNT 1>
8655 (?im)error.+?superset.+?match.+?cannot.+?used
8657 <RESULT IF_PASS COUNT 1>
8664 .*---------------------------------------------------------------------*
8665 :h4.Allowed matching mechanisms - template superset (bitstring in function)
8666 .*---------------------------------------------------------------------*
8669 <TC - Allowed matching mechanisms - template superset (bitstring in function)>
8673 <MODULE TTCN x x.ttcn>
8676 const bitstring c1:= '101'B;
8677 const bitstring c2:= '110'B;
8678 const bitstring c3:= '111'B;
8681 var template bitstring r:= superset (c1, c2, c3);
8686 <RESULT IF_PASS COUNT 1>
8687 (?im)error.+?superset.+?match.+?cannot.+?used
8689 <RESULT IF_PASS COUNT 1>
8696 .*---------------------------------------------------------------------*
8697 :h4.Allowed matching mechanisms - template superset (octetstring in def.part)
8698 .*---------------------------------------------------------------------*
8701 <TC - Allowed matching mechanisms - template superset (octetstring in def.part)>
8705 <MODULE TTCN x x.ttcn>
8708 const octetstring c1:= '1011'O;
8709 const octetstring c2:= '1110'O;
8710 const octetstring c3:= '1111'O;
8712 template octetstring r:= superset (c1, c2, c3);
8716 <RESULT IF_PASS COUNT 1>
8717 (?im)error.+?superset.+?match.+?cannot.+?used
8719 <RESULT IF_PASS COUNT 1>
8726 .*---------------------------------------------------------------------*
8727 :h4.Allowed matching mechanisms - template superset (octetstring in control part)
8728 .*---------------------------------------------------------------------*
8731 <TC - Allowed matching mechanisms - template superset (octetstring in control part)>
8735 <MODULE TTCN x x.ttcn>
8738 const octetstring c1:= '1011'O;
8739 const octetstring c2:= '1110'O;
8740 const octetstring c3:= '1111'O;
8743 var template octetstring r:= superset (c1, c2, c3);
8748 <RESULT IF_PASS COUNT 1>
8749 (?im)error.+?superset.+?match.+?cannot.+?used
8751 <RESULT IF_PASS COUNT 1>
8758 .*---------------------------------------------------------------------*
8759 :h4.Allowed matching mechanisms - template superset (octetstring in function)
8760 .*---------------------------------------------------------------------*
8763 <TC - Allowed matching mechanisms - template superset (octetstring in function)>
8767 <MODULE TTCN x x.ttcn>
8770 const octetstring c1:= '1011'O;
8771 const octetstring c2:= '1110'O;
8772 const octetstring c3:= '1111'O;
8775 var template octetstring r:= superset (c1, c2, c3);
8780 <RESULT IF_PASS COUNT 1>
8781 (?im)error.+?superset.+?match.+?cannot.+?used
8783 <RESULT IF_PASS COUNT 1>
8790 .*---------------------------------------------------------------------*
8791 :h4.Allowed matching mechanisms - template superset (hexstring in def.part)
8792 .*---------------------------------------------------------------------*
8795 <TC - Allowed matching mechanisms - template superset (hexstring in def.part)>
8799 <MODULE TTCN x x.ttcn>
8802 const hexstring c1:= '1011'H;
8803 const hexstring c2:= '1110'H;
8804 const hexstring c3:= '1111'H;
8806 template hexstring r:= superset (c1, c2, c3);
8810 <RESULT IF_PASS COUNT 1>
8811 (?im)error.+?superset.+?match.+?cannot.+?used
8813 <RESULT IF_PASS COUNT 1>
8820 .*---------------------------------------------------------------------*
8821 :h4.Allowed matching mechanisms - template superset (hexstring in control part)
8822 .*---------------------------------------------------------------------*
8825 <TC - Allowed matching mechanisms - template superset (hexstring in control part)>
8829 <MODULE TTCN x x.ttcn>
8832 const hexstring c1:= '1011'H;
8833 const hexstring c2:= '1110'H;
8834 const hexstring c3:= '1111'H;
8837 var template hexstring r:= superset (c1, c2, c3);
8842 <RESULT IF_PASS COUNT 1>
8843 (?im)error.+?superset.+?match.+?cannot.+?used
8845 <RESULT IF_PASS COUNT 1>
8852 .*---------------------------------------------------------------------*
8853 :h4.Allowed matching mechanisms - template superset (hexstring in function)
8854 .*---------------------------------------------------------------------*
8857 <TC - Allowed matching mechanisms - template superset (hexstring in function)>
8861 <MODULE TTCN x x.ttcn>
8864 const hexstring c1:= '1011'H;
8865 const hexstring c2:= '1110'H;
8866 const hexstring c3:= '1111'H;
8869 var template hexstring r:= superset (c1, c2, c3);
8874 <RESULT IF_PASS COUNT 1>
8875 (?im)error.+?superset.+?match.+?cannot.+?used
8877 <RESULT IF_PASS COUNT 1>
8884 .*---------------------------------------------------------------------*
8885 :h4.Allowed matching mechanisms - template superset (charstring in def.part)
8886 .*---------------------------------------------------------------------*
8889 <TC - Allowed matching mechanisms - template superset (charstring in def.part)>
8893 <MODULE TTCN x x.ttcn>
8896 const charstring c1:= "ogin";
8897 const charstring c2:= "dwa";
8898 const charstring c3:= "try";
8900 template charstring r:= superset (c1, c2, c3);
8904 <RESULT IF_PASS COUNT 1>
8905 (?im)error.+?superset.+?match.+?cannot.+?used
8907 <RESULT IF_PASS COUNT 1>
8914 .*---------------------------------------------------------------------*
8915 :h4.Allowed matching mechanisms - template superset (charstring in control part)
8916 .*---------------------------------------------------------------------*
8919 <TC - Allowed matching mechanisms - template superset (charstring in control part)>
8923 <MODULE TTCN x x.ttcn>
8926 const charstring c1:= "ogin";
8927 const charstring c2:= "dwa";
8928 const charstring c3:= "try";
8931 var template charstring r:= superset (c1, c2, c3);
8936 <RESULT IF_PASS COUNT 1>
8937 (?im)error.+?superset.+?match.+?cannot.+?used
8939 <RESULT IF_PASS COUNT 1>
8946 .*---------------------------------------------------------------------*
8947 :h4.Allowed matching mechanisms - template superset (charstring in function)
8948 .*---------------------------------------------------------------------*
8951 <TC - Allowed matching mechanisms - template superset (charstring in function)>
8955 <MODULE TTCN x x.ttcn>
8958 const charstring c1:= "ogin";
8959 const charstring c2:= "dwa";
8960 const charstring c3:= "try";
8963 var template charstring r:= superset (c1, c2, c3);
8968 <RESULT IF_PASS COUNT 1>
8969 (?im)error.+?superset.+?match.+?cannot.+?used
8971 <RESULT IF_PASS COUNT 1>
8978 .*---------------------------------------------------------------------*
8979 :h4.Allowed matching mechanisms - template superset (record in def.part)
8980 .*---------------------------------------------------------------------*
8983 <TC - Allowed matching mechanisms - template superset (record in def.part)>
8987 <MODULE TTCN x x.ttcn>
8996 const recT c1:= { f1:= 1, f2:= 2.0, f3:= "a"};
8997 const recT c2:= { f1:= 5, f2:= 7.0, f3:= "z"};
8999 template recT r:= superset (c1, c2);
9003 <RESULT IF_PASS COUNT 1>
9004 (?im)error.+?superset.+?match.+?cannot.+?used
9006 <RESULT IF_PASS COUNT 1>
9013 .*---------------------------------------------------------------------*
9014 :h4.Allowed matching mechanisms - template superset (record in control part)
9015 .*---------------------------------------------------------------------*
9018 <TC - Allowed matching mechanisms - template superset (record in control part)>
9022 <MODULE TTCN x x.ttcn>
9031 const recT c1:= { f1:= 1, f2:= 2.0, f3:= "a"};
9032 const recT c2:= { f1:= 5, f2:= 7.0, f3:= "z"};
9035 var template recT r:= superset (c1, c2);
9040 <RESULT IF_PASS COUNT 1>
9041 (?im)error.+?superset.+?match.+?cannot.+?used
9043 <RESULT IF_PASS COUNT 1>
9050 .*---------------------------------------------------------------------*
9051 :h4.Allowed matching mechanisms - template superset (record in function)
9052 .*---------------------------------------------------------------------*
9055 <TC - Allowed matching mechanisms - template superset (record in function)>
9059 <MODULE TTCN x x.ttcn>
9068 const recT c1:= { f1:= 1, f2:= 2.0, f3:= "a"};
9069 const recT c2:= { f1:= 5, f2:= 7.0, f3:= "z"};
9072 var template recT r:= superset (c1, c2);
9077 <RESULT IF_PASS COUNT 1>
9078 (?im)error.+?superset.+?match.+?cannot.+?used
9080 <RESULT IF_PASS COUNT 1>
9087 .*---------------------------------------------------------------------*
9088 :h4.Allowed matching mechanisms - template superset (record of in def.part)
9089 .*---------------------------------------------------------------------*
9092 <TC - Allowed matching mechanisms - template superset (record of in def.part)>
9096 <MODULE TTCN x x.ttcn>
9099 type record of integer rofT;
9101 const rofT c1:= { 1, 2, 3 };
9102 const rofT c2:= { 4, 5, 6 };
9104 template rofT r:= superset (c1, c2);
9108 <RESULT IF_PASS COUNT 1>
9109 (?im)error.+?superset.+?match.+?cannot.+?used
9111 <RESULT IF_PASS COUNT 1>
9118 .*---------------------------------------------------------------------*
9119 :h4.Allowed matching mechanisms - template superset (record of in control part)
9120 .*---------------------------------------------------------------------*
9123 <TC - Allowed matching mechanisms - template superset (record of in control part)>
9127 <MODULE TTCN x x.ttcn>
9130 type record of integer rofT;
9132 const rofT c1:= { 1, 2, 3 };
9133 const rofT c2:= { 4, 5, 6 };
9136 var template rofT r:= superset (c1, c2);
9141 <RESULT IF_PASS COUNT 1>
9142 (?im)error.+?superset.+?match.+?cannot.+?used
9144 <RESULT IF_PASS COUNT 1>
9151 .*---------------------------------------------------------------------*
9152 :h4.Allowed matching mechanisms - template superset (record of in function)
9153 .*---------------------------------------------------------------------*
9156 <TC - Allowed matching mechanisms - template superset (record of in function)>
9160 <MODULE TTCN x x.ttcn>
9163 type record of integer rofT;
9165 const rofT c1:= { 1, 2, 3 };
9166 const rofT c2:= { 4, 5, 6 };
9169 var template rofT r:= superset (c1, c2);
9174 <RESULT IF_PASS COUNT 1>
9175 (?im)error.+?superset.+?match.+?cannot.+?used
9177 <RESULT IF_PASS COUNT 1>
9184 .*---------------------------------------------------------------------*
9185 :h4.Allowed matching mechanisms - template superset (set in def.part)
9186 .*---------------------------------------------------------------------*
9189 <TC - Allowed matching mechanisms - template superset (set in def.part)>
9193 <MODULE TTCN x x.ttcn>
9202 const setT c1:= { f1:= 1, f2:= 2.0, f3:= "a"};
9203 const setT c2:= { f1:= 5, f2:= 7.0, f3:= "z"};
9205 template setT r:= superset (c1, c2);
9209 <RESULT IF_PASS COUNT 1>
9210 (?im)error.+?superset.+?match.+?cannot.+?used
9212 <RESULT IF_PASS COUNT 1>
9219 .*---------------------------------------------------------------------*
9220 :h4.Allowed matching mechanisms - template superset (set in control part)
9221 .*---------------------------------------------------------------------*
9224 <TC - Allowed matching mechanisms - template superset (set in control part)>
9228 <MODULE TTCN x x.ttcn>
9237 const setT c1:= { f1:= 1, f2:= 2.0, f3:= "a"};
9238 const setT c2:= { f1:= 5, f2:= 7.0, f3:= "z"};
9241 var template setT r:= superset (c1, c2);
9246 <RESULT IF_PASS COUNT 1>
9247 (?im)error.+?superset.+?match.+?cannot.+?used
9249 <RESULT IF_PASS COUNT 1>
9256 .*---------------------------------------------------------------------*
9257 :h4.Allowed matching mechanisms - template superset (set in function)
9258 .*---------------------------------------------------------------------*
9261 <TC - Allowed matching mechanisms - template superset (set in function)>
9265 <MODULE TTCN x x.ttcn>
9274 const setT c1:= { f1:= 1, f2:= 2.0, f3:= "a"};
9275 const setT c2:= { f1:= 5, f2:= 7.0, f3:= "z"};
9278 var template setT r:= superset (c1, c2);
9283 <RESULT IF_PASS COUNT 1>
9284 (?im)error.+?superset.+?match.+?cannot.+?used
9286 <RESULT IF_PASS COUNT 1>
9293 .*---------------------------------------------------------------------*
9294 :h4.Allowed matching mechanisms - template superset (enumerated in def.part)
9295 .*---------------------------------------------------------------------*
9298 <TC - Allowed matching mechanisms - template superset (enumerated in def.part)>
9302 <MODULE TTCN x x.ttcn>
9305 type enumerated enumT { ONE(1), TWO(2), THREE(3) };
9307 const enumT c1:= ONE;
9308 const enumT c2:= TWO;
9310 template enumT r:= superset (c1, c2);
9314 <RESULT IF_PASS COUNT 1>
9315 (?im)error.+?superset.+?match.+?cannot.+?used
9317 <RESULT IF_PASS COUNT 1>
9324 .*---------------------------------------------------------------------*
9325 :h4.Allowed matching mechanisms - template superset (enumerated in control part)
9326 .*---------------------------------------------------------------------*
9329 <TC - Allowed matching mechanisms - template superset (enumerated in control part)>
9333 <MODULE TTCN x x.ttcn>
9336 type enumerated enumT { ONE(1), TWO(2), THREE(3) };
9338 const enumT c1:= ONE;
9339 const enumT c2:= TWO;
9342 var template enumT r:= superset (c1, c2);
9347 <RESULT IF_PASS COUNT 1>
9348 (?im)error.+?superset.+?match.+?cannot.+?used
9350 <RESULT IF_PASS COUNT 1>
9357 .*---------------------------------------------------------------------*
9358 :h4.Allowed matching mechanisms - template superset (enumerated in function)
9359 .*---------------------------------------------------------------------*
9362 <TC - Allowed matching mechanisms - template superset (enumerated in function)>
9366 <MODULE TTCN x x.ttcn>
9369 type enumerated enumT { ONE(1), TWO(2), THREE(3) };
9371 const enumT c1:= ONE;
9372 const enumT c2:= TWO;
9375 var template enumT r:= superset (c1, c2);
9380 <RESULT IF_PASS COUNT 1>
9381 (?im)error.+?superset.+?match.+?cannot.+?used
9383 <RESULT IF_PASS COUNT 1>
9390 .*---------------------------------------------------------------------*
9391 :h4.Allowed matching mechanisms - template superset (union in def.part)
9392 .*---------------------------------------------------------------------*
9395 <TC - Allowed matching mechanisms - template superset (union in def.part)>
9399 <MODULE TTCN x x.ttcn>
9408 const uniT c1:= { f1:= 1 };
9409 const uniT c2:= { f2:= 7.0 };
9411 template uniT r:= superset (c1, c2);
9415 <RESULT IF_PASS COUNT 1>
9416 (?im)error.+?superset.+?match.+?cannot.+?used
9418 <RESULT IF_PASS COUNT 1>
9425 .*---------------------------------------------------------------------*
9426 :h4.Allowed matching mechanisms - template superset (union in control part)
9427 .*---------------------------------------------------------------------*
9430 <TC - Allowed matching mechanisms - template superset (union in control part)>
9434 <MODULE TTCN x x.ttcn>
9443 const uniT c1:= { f1:= 1 };
9444 const uniT c2:= { f2:= 7.0 };
9447 var template uniT r:= superset (c1, c2);
9452 <RESULT IF_PASS COUNT 1>
9453 (?im)error.+?superset.+?match.+?cannot.+?used
9455 <RESULT IF_PASS COUNT 1>
9462 .*---------------------------------------------------------------------*
9463 :h4.Allowed matching mechanisms - template superset (union in function)
9464 .*---------------------------------------------------------------------*
9467 <TC - Allowed matching mechanisms - template superset (union in function)>
9471 <MODULE TTCN x x.ttcn>
9480 const uniT c1:= { f1:= 1 };
9481 const uniT c2:= { f2:= 7.0 };
9484 var template uniT r:= superset (c1, c2);
9489 <RESULT IF_PASS COUNT 1>
9490 (?im)error.+?superset.+?match.+?cannot.+?used
9492 <RESULT IF_PASS COUNT 1>
9499 .*---------------------------------------------------------------------*
9500 :h4.Allowed matching mechanisms - template superset (array in def. part)
9501 .*---------------------------------------------------------------------*
9504 <TC - Allowed matching mechanisms - template superset (array in def.part)>
9508 <MODULE TTCN x x.ttcn>
9511 type integer myint[1];
9513 const myint c1:={1};
9514 const myint c2 :={3};
9516 template myint r := superset(c1,c2);
9520 <RESULT IF_PASS COUNT 1>
9521 (?im)error.+?superset.+?match.+?cannot.+?used
9523 <RESULT IF_PASS COUNT 1>
9530 .*---------------------------------------------------------------------*
9531 :h4.Allowed matching mechanisms - template superset (array in control part)
9532 .*---------------------------------------------------------------------*
9535 <TC - Allowed matching mechanisms - template superset (array in control part)>
9539 <MODULE TTCN x x.ttcn>
9542 type integer myint[1];
9544 const myint c1:={1};
9545 const myint c2 :={3};
9548 template myint r := superset(c1,c2);
9552 <RESULT IF_PASS COUNT 1>
9553 (?im)error.+?superset.+?match.+?cannot.+?used
9555 <RESULT IF_PASS COUNT 1>
9562 .*---------------------------------------------------------------------*
9563 :h4.Allowed matching mechanisms - template superset (array in function)
9564 .*---------------------------------------------------------------------*
9567 <TC - Allowed matching mechanisms - template superset (array in function)>
9571 <MODULE TTCN x x.ttcn>
9574 type integer myint[1];
9576 const myint c1:={1};
9577 const myint c2 :={3};
9580 template myint r := superset(c1,c2);
9584 <RESULT IF_PASS COUNT 1>
9585 (?im)error.+?superset.+?match.+?cannot.+?used
9587 <RESULT IF_PASS COUNT 1>
9594 .*---------------------------------------------------------------------*
9595 :h4.Allowed matching mechanisms - template subset (boolean in def.part)
9596 .*---------------------------------------------------------------------*
9599 <TC - Allowed matching mechanisms - template subset (boolean in def.part)>
9603 <MODULE TTCN x x.ttcn>
9606 const boolean c1:= false;
9607 const boolean c2:= true;
9609 template boolean r:= subset (c1, c2);
9613 <RESULT IF_PASS COUNT 1>
9614 (?im)error.+?subset.+?match.+?cannot.+?used
9616 <RESULT IF_PASS COUNT 1>
9623 .*---------------------------------------------------------------------*
9624 :h4.Allowed matching mechanisms - template subset (boolean in control part)
9625 .*---------------------------------------------------------------------*
9628 <TC - Allowed matching mechanisms - template subset (boolean in control part)>
9632 <MODULE TTCN x x.ttcn>
9635 const boolean c1:= false;
9636 const boolean c2:= true;
9639 var template boolean r:= subset (c1, c2);
9644 <RESULT IF_PASS COUNT 1>
9645 (?im)error.+?subset.+?match.+?cannot.+?used
9647 <RESULT IF_PASS COUNT 1>
9654 .*---------------------------------------------------------------------*
9655 :h4.Allowed matching mechanisms - template subset (boolean in function)
9656 .*---------------------------------------------------------------------*
9659 <TC - Allowed matching mechanisms - template subset (boolean in function)>
9663 <MODULE TTCN x x.ttcn>
9666 const boolean c1:= false;
9667 const boolean c2:= true;
9670 var template boolean r:= subset (c1, c2);
9675 <RESULT IF_PASS COUNT 1>
9676 (?im)error.+?subset.+?match.+?cannot.+?used
9678 <RESULT IF_PASS COUNT 1>
9685 .*---------------------------------------------------------------------*
9686 :h4.Allowed matching mechanisms - template subset (integer in def.part)
9687 .*---------------------------------------------------------------------*
9690 <TC - Allowed matching mechanisms - template subset (integer in def.part)>
9694 <MODULE TTCN x x.ttcn>
9697 const integer c1:= 1;
9698 const integer c2:= 2;
9699 const integer c3:= 3;
9701 template integer r:= subset (c1, c2, c3);
9705 <RESULT IF_PASS COUNT 1>
9706 (?im)error.+?subset.+?match.+?cannot.+?used
9708 <RESULT IF_PASS COUNT 1>
9715 .*---------------------------------------------------------------------*
9716 :h4.Allowed matching mechanisms - template subset (integer in control part)
9717 .*---------------------------------------------------------------------*
9720 <TC - Allowed matching mechanisms - template subset (integer in control part)>
9724 <MODULE TTCN x x.ttcn>
9727 const integer c1:= 1;
9728 const integer c2:= 2;
9729 const integer c3:= 3;
9732 var template integer r:= subset (c1, c2, c3);
9737 <RESULT IF_PASS COUNT 1>
9738 (?im)error.+?subset.+?match.+?cannot.+?used
9740 <RESULT IF_PASS COUNT 1>
9747 .*---------------------------------------------------------------------*
9748 :h4.Allowed matching mechanisms - template subset (integer in function)
9749 .*---------------------------------------------------------------------*
9752 <TC - Allowed matching mechanisms - template subset (integer in function)>
9756 <MODULE TTCN x x.ttcn>
9759 const integer c1:= 1;
9760 const integer c2:= 2;
9761 const integer c3:= 3;
9764 var template integer r:= subset (c1, c2, c3);
9769 <RESULT IF_PASS COUNT 1>
9770 (?im)error.+?subset.+?match.+?cannot.+?used
9772 <RESULT IF_PASS COUNT 1>
9779 .*---------------------------------------------------------------------*
9780 :h4.Allowed matching mechanisms - template subset (float in def.part)
9781 .*---------------------------------------------------------------------*
9784 <TC - Allowed matching mechanisms - template subset (float in def.part)>
9788 <MODULE TTCN x x.ttcn>
9791 const float c1:= 1.6;
9792 const float c2:= 2.4;
9793 const float c3:= 3.9;
9795 template float r:= subset (c1, c2, c3);
9799 <RESULT IF_PASS COUNT 1>
9800 (?im)error.+?subset.+?match.+?cannot.+?used
9802 <RESULT IF_PASS COUNT 1>
9809 .*---------------------------------------------------------------------*
9810 :h4.Allowed matching mechanisms - template subset (float in control part)
9811 .*---------------------------------------------------------------------*
9814 <TC - Allowed matching mechanisms - template subset (float in control part)>
9818 <MODULE TTCN x x.ttcn>
9821 const float c1:= 1.1;
9822 const float c2:= 2.3;
9823 const float c3:= 3.1;
9826 var template float r:= subset (c1, c2, c3);
9831 <RESULT IF_PASS COUNT 1>
9832 (?im)error.+?subset.+?match.+?cannot.+?used
9834 <RESULT IF_PASS COUNT 1>
9841 .*---------------------------------------------------------------------*
9842 :h4.Allowed matching mechanisms - template subset (float in function)
9843 .*---------------------------------------------------------------------*
9846 <TC - Allowed matching mechanisms - template subset (float in function)>
9850 <MODULE TTCN x x.ttcn>
9853 const float c1:= 1.1;
9854 const float c2:= 2.9;
9855 const float c3:= 3.2;
9858 var template float r:= subset (c1, c2, c3);
9863 <RESULT IF_PASS COUNT 1>
9864 (?im)error.+?subset.+?match.+?cannot.+?used
9866 <RESULT IF_PASS COUNT 1>
9873 .*---------------------------------------------------------------------*
9874 :h4.Allowed matching mechanisms - template subset (bitstring in def.part)
9875 .*---------------------------------------------------------------------*
9878 <TC - Allowed matching mechanisms - template subset (bitstring in def.part)>
9882 <MODULE TTCN x x.ttcn>
9885 const bitstring c1:= '101'B;
9886 const bitstring c2:= '110'B;
9887 const bitstring c3:= '111'B;
9889 template bitstring r:= subset (c1, c2, c3);
9893 <RESULT IF_PASS COUNT 1>
9894 (?im)error.+?subset.+?match.+?cannot.+?used
9896 <RESULT IF_PASS COUNT 1>
9903 .*---------------------------------------------------------------------*
9904 :h4.Allowed matching mechanisms - template subset (bitstring in control part)
9905 .*---------------------------------------------------------------------*
9908 <TC - Allowed matching mechanisms - template subset (bitstring in control part)>
9912 <MODULE TTCN x x.ttcn>
9915 const bitstring c1:= '101'B;
9916 const bitstring c2:= '110'B;
9917 const bitstring c3:= '111'B;
9920 var template bitstring r:= subset (c1, c2, c3);
9925 <RESULT IF_PASS COUNT 1>
9926 (?im)error.+?subset.+?match.+?cannot.+?used
9928 <RESULT IF_PASS COUNT 1>
9935 .*---------------------------------------------------------------------*
9936 :h4.Allowed matching mechanisms - template subset (bitstring in function)
9937 .*---------------------------------------------------------------------*
9940 <TC - Allowed matching mechanisms - template subset (bitstring in function)>
9944 <MODULE TTCN x x.ttcn>
9947 const bitstring c1:= '101'B;
9948 const bitstring c2:= '110'B;
9949 const bitstring c3:= '111'B;
9952 var template bitstring r:= subset (c1, c2, c3);
9957 <RESULT IF_PASS COUNT 1>
9958 (?im)error.+?subset.+?match.+?cannot.+?used
9960 <RESULT IF_PASS COUNT 1>
9967 .*---------------------------------------------------------------------*
9968 :h4.Allowed matching mechanisms - template subset (octetstring in def.part)
9969 .*---------------------------------------------------------------------*
9972 <TC - Allowed matching mechanisms - template subset (octetstring in def.part)>
9976 <MODULE TTCN x x.ttcn>
9979 const octetstring c1:= '1011'O;
9980 const octetstring c2:= '1110'O;
9981 const octetstring c3:= '1111'O;
9983 template octetstring r:= subset (c1, c2, c3);
9987 <RESULT IF_PASS COUNT 1>
9988 (?im)error.+?subset.+?match.+?cannot.+?used
9990 <RESULT IF_PASS COUNT 1>
9997 .*---------------------------------------------------------------------*
9998 :h4.Allowed matching mechanisms - template subset (octetstring in control part)
9999 .*---------------------------------------------------------------------*
10002 <TC - Allowed matching mechanisms - template subset (octetstring in control part)>
10005 <VERDICT_LEAF PASS>
10006 <MODULE TTCN x x.ttcn>
10009 const octetstring c1:= '1011'O;
10010 const octetstring c2:= '1110'O;
10011 const octetstring c3:= '1111'O;
10014 var template octetstring r:= subset (c1, c2, c3);
10019 <RESULT IF_PASS COUNT 1>
10020 (?im)error.+?subset.+?match.+?cannot.+?used
10022 <RESULT IF_PASS COUNT 1>
10029 .*---------------------------------------------------------------------*
10030 :h4.Allowed matching mechanisms - template subset (octetstring in function)
10031 .*---------------------------------------------------------------------*
10034 <TC - Allowed matching mechanisms - template subset (octetstring in function)>
10037 <VERDICT_LEAF PASS>
10038 <MODULE TTCN x x.ttcn>
10041 const octetstring c1:= '1011'O;
10042 const octetstring c2:= '1110'O;
10043 const octetstring c3:= '1111'O;
10045 function myFunct(){
10046 var template octetstring r:= subset (c1, c2, c3);
10051 <RESULT IF_PASS COUNT 1>
10052 (?im)error.+?subset.+?match.+?cannot.+?used
10054 <RESULT IF_PASS COUNT 1>
10061 .*---------------------------------------------------------------------*
10062 :h4.Allowed matching mechanisms - template subset (hexstring in def.part)
10063 .*---------------------------------------------------------------------*
10066 <TC - Allowed matching mechanisms - template subset (hexstring in def.part)>
10069 <VERDICT_LEAF PASS>
10070 <MODULE TTCN x x.ttcn>
10073 const hexstring c1:= '1011'H;
10074 const hexstring c2:= '1110'H;
10075 const hexstring c3:= '1111'H;
10077 template hexstring r:= subset (c1, c2, c3);
10081 <RESULT IF_PASS COUNT 1>
10082 (?im)error.+?subset.+?match.+?cannot.+?used
10084 <RESULT IF_PASS COUNT 1>
10091 .*---------------------------------------------------------------------*
10092 :h4.Allowed matching mechanisms - template subset (hexstring in control part)
10093 .*---------------------------------------------------------------------*
10096 <TC - Allowed matching mechanisms - template subset (hexstring in control part)>
10099 <VERDICT_LEAF PASS>
10100 <MODULE TTCN x x.ttcn>
10103 const hexstring c1:= '1011'H;
10104 const hexstring c2:= '1110'H;
10105 const hexstring c3:= '1111'H;
10108 var template hexstring r:= subset (c1, c2, c3);
10113 <RESULT IF_PASS COUNT 1>
10114 (?im)error.+?subset.+?match.+?cannot.+?used
10116 <RESULT IF_PASS COUNT 1>
10123 .*---------------------------------------------------------------------*
10124 :h4.Allowed matching mechanisms - template subset (hexstring in function)
10125 .*---------------------------------------------------------------------*
10128 <TC - Allowed matching mechanisms - template subset (hexstring in function)>
10131 <VERDICT_LEAF PASS>
10132 <MODULE TTCN x x.ttcn>
10135 const hexstring c1:= '1011'H;
10136 const hexstring c2:= '1110'H;
10137 const hexstring c3:= '1111'H;
10139 function myFunct(){
10140 var template hexstring r:= subset (c1, c2, c3);
10145 <RESULT IF_PASS COUNT 1>
10146 (?im)error.+?subset.+?match.+?cannot.+?used
10148 <RESULT IF_PASS COUNT 1>
10155 .*---------------------------------------------------------------------*
10156 :h4.Allowed matching mechanisms - template subset (charstring in def.part)
10157 .*---------------------------------------------------------------------*
10160 <TC - Allowed matching mechanisms - template subset (charstring in def.part)>
10163 <VERDICT_LEAF PASS>
10164 <MODULE TTCN x x.ttcn>
10167 const charstring c1:= "ogin";
10168 const charstring c2:= "dwa";
10169 const charstring c3:= "try";
10171 template charstring r:= subset (c1, c2, c3);
10175 <RESULT IF_PASS COUNT 1>
10176 (?im)error.+?subset.+?match.+?cannot.+?used
10178 <RESULT IF_PASS COUNT 1>
10185 .*---------------------------------------------------------------------*
10186 :h4.Allowed matching mechanisms - template subset (charstring in control part)
10187 .*---------------------------------------------------------------------*
10190 <TC - Allowed matching mechanisms - template subset (charstring in control part)>
10193 <VERDICT_LEAF PASS>
10194 <MODULE TTCN x x.ttcn>
10197 const charstring c1:= "ogin";
10198 const charstring c2:= "dwa";
10199 const charstring c3:= "try";
10202 var template charstring r:= subset (c1, c2, c3);
10207 <RESULT IF_PASS COUNT 1>
10208 (?im)error.+?subset.+?match.+?cannot.+?used
10210 <RESULT IF_PASS COUNT 1>
10217 .*---------------------------------------------------------------------*
10218 :h4.Allowed matching mechanisms - template subset (charstring in function)
10219 .*---------------------------------------------------------------------*
10222 <TC - Allowed matching mechanisms - template subset (charstring in function)>
10225 <VERDICT_LEAF PASS>
10226 <MODULE TTCN x x.ttcn>
10229 const charstring c1:= "ogin";
10230 const charstring c2:= "dwa";
10231 const charstring c3:= "try";
10233 function myFunct(){
10234 var template charstring r:= subset (c1, c2, c3);
10239 <RESULT IF_PASS COUNT 1>
10240 (?im)error.+?subset.+?match.+?cannot.+?used
10242 <RESULT IF_PASS COUNT 1>
10249 .*---------------------------------------------------------------------*
10250 :h4.Allowed matching mechanisms - template subset (record in def.part)
10251 .*---------------------------------------------------------------------*
10254 <TC - Allowed matching mechanisms - template subset (record in def.part)>
10257 <VERDICT_LEAF PASS>
10258 <MODULE TTCN x x.ttcn>
10267 const recT c1:= { f1:= 1, f2:= 2.0, f3:= "a"};
10268 const recT c2:= { f1:= 5, f2:= 7.0, f3:= "z"};
10270 template recT r:= subset (c1, c2);
10274 <RESULT IF_PASS COUNT 1>
10275 (?im)error.+?subset.+?match.+?cannot.+?used
10277 <RESULT IF_PASS COUNT 1>
10284 .*---------------------------------------------------------------------*
10285 :h4.Allowed matching mechanisms - template subset (record in control part)
10286 .*---------------------------------------------------------------------*
10289 <TC - Allowed matching mechanisms - template subset (record in control part)>
10292 <VERDICT_LEAF PASS>
10293 <MODULE TTCN x x.ttcn>
10302 const recT c1:= { f1:= 1, f2:= 2.0, f3:= "a"};
10303 const recT c2:= { f1:= 5, f2:= 7.0, f3:= "z"};
10306 var template recT r:= subset (c1, c2);
10311 <RESULT IF_PASS COUNT 1>
10312 (?im)error.+?subset.+?match.+?cannot.+?used
10314 <RESULT IF_PASS COUNT 1>
10321 .*---------------------------------------------------------------------*
10322 :h4.Allowed matching mechanisms - template subset (record in function)
10323 .*---------------------------------------------------------------------*
10326 <TC - Allowed matching mechanisms - template subset (record in function)>
10329 <VERDICT_LEAF PASS>
10330 <MODULE TTCN x x.ttcn>
10339 const recT c1:= { f1:= 1, f2:= 2.0, f3:= "a"};
10340 const recT c2:= { f1:= 5, f2:= 7.0, f3:= "z"};
10342 function myFunct(){
10343 var template recT r:= subset (c1, c2);
10348 <RESULT IF_PASS COUNT 1>
10349 (?im)error.+?subset.+?match.+?cannot.+?used
10351 <RESULT IF_PASS COUNT 1>
10358 .*---------------------------------------------------------------------*
10359 :h4.Allowed matching mechanisms - template subset (record of in def.part)
10360 .*---------------------------------------------------------------------*
10363 <TC - Allowed matching mechanisms - template subset (record of in def.part)>
10366 <VERDICT_LEAF PASS>
10367 <MODULE TTCN x x.ttcn>
10370 type record of integer rofT;
10372 const rofT c1:= { 1, 2, 3 };
10373 const rofT c2:= { 4, 5, 6 };
10375 template rofT r:= subset (c1, c2);
10379 <RESULT IF_PASS COUNT 1>
10380 (?im)error.+?subset.+?match.+?cannot.+?used
10382 <RESULT IF_PASS COUNT 1>
10389 .*---------------------------------------------------------------------*
10390 :h4.Allowed matching mechanisms - template subset (record of in control part)
10391 .*---------------------------------------------------------------------*
10394 <TC - Allowed matching mechanisms - template subset (record of in control part)>
10397 <VERDICT_LEAF PASS>
10398 <MODULE TTCN x x.ttcn>
10401 type record of integer rofT;
10403 const rofT c1:= { 1, 2, 3 };
10404 const rofT c2:= { 4, 5, 6 };
10407 var template rofT r:= subset (c1, c2);
10412 <RESULT IF_PASS COUNT 1>
10413 (?im)error.+?subset.+?match.+?cannot.+?used
10415 <RESULT IF_PASS COUNT 1>
10422 .*---------------------------------------------------------------------*
10423 :h4.Allowed matching mechanisms - template subset (record of in function)
10424 .*---------------------------------------------------------------------*
10427 <TC - Allowed matching mechanisms - template subset (record of in function)>
10430 <VERDICT_LEAF PASS>
10431 <MODULE TTCN x x.ttcn>
10434 type record of integer rofT;
10436 const rofT c1:= { 1, 2, 3 };
10437 const rofT c2:= { 4, 5, 6 };
10439 function myFunct(){
10440 var template rofT r:= subset (c1, c2);
10445 <RESULT IF_PASS COUNT 1>
10446 (?im)error.+?subset.+?match.+?cannot.+?used
10448 <RESULT IF_PASS COUNT 1>
10455 .*---------------------------------------------------------------------*
10456 :h4.Allowed matching mechanisms - template subset (set in def.part)
10457 .*---------------------------------------------------------------------*
10460 <TC - Allowed matching mechanisms - template subset (set in def.part)>
10463 <VERDICT_LEAF PASS>
10464 <MODULE TTCN x x.ttcn>
10473 const setT c1:= { f1:= 1, f2:= 2.0, f3:= "a"};
10474 const setT c2:= { f1:= 5, f2:= 7.0, f3:= "z"};
10476 template setT r:= subset (c1, c2);
10480 <RESULT IF_PASS COUNT 1>
10481 (?im)error.+?subset.+?match.+?cannot.+?used
10483 <RESULT IF_PASS COUNT 1>
10490 .*---------------------------------------------------------------------*
10491 :h4.Allowed matching mechanisms - template subset (set in control part)
10492 .*---------------------------------------------------------------------*
10495 <TC - Allowed matching mechanisms - template subset (set in control part)>
10498 <VERDICT_LEAF PASS>
10499 <MODULE TTCN x x.ttcn>
10508 const setT c1:= { f1:= 1, f2:= 2.0, f3:= "a"};
10509 const setT c2:= { f1:= 5, f2:= 7.0, f3:= "z"};
10512 var template setT r:= subset (c1, c2);
10517 <RESULT IF_PASS COUNT 1>
10518 (?im)error.+?subset.+?match.+?cannot.+?used
10520 <RESULT IF_PASS COUNT 1>
10527 .*---------------------------------------------------------------------*
10528 :h4.Allowed matching mechanisms - template subset (set in function)
10529 .*---------------------------------------------------------------------*
10532 <TC - Allowed matching mechanisms - template subset (set in function)>
10535 <VERDICT_LEAF PASS>
10536 <MODULE TTCN x x.ttcn>
10545 const setT c1:= { f1:= 1, f2:= 2.0, f3:= "a"};
10546 const setT c2:= { f1:= 5, f2:= 7.0, f3:= "z"};
10548 function myFunct(){
10549 var template setT r:= subset (c1, c2);
10554 <RESULT IF_PASS COUNT 1>
10555 (?im)error.+?subset.+?match.+?cannot.+?used
10557 <RESULT IF_PASS COUNT 1>
10564 .*---------------------------------------------------------------------*
10565 :h4.Allowed matching mechanisms - template subset (enumerated in def.part)
10566 .*---------------------------------------------------------------------*
10569 <TC - Allowed matching mechanisms - template subset (enumerated in def.part)>
10572 <VERDICT_LEAF PASS>
10573 <MODULE TTCN x x.ttcn>
10576 type enumerated enumT { ONE(1), TWO(2), THREE(3) };
10578 const enumT c1:= ONE;
10579 const enumT c2:= TWO;
10581 template enumT r:= subset (c1, c2);
10585 <RESULT IF_PASS COUNT 1>
10586 (?im)error.+?subset.+?match.+?cannot.+?used
10588 <RESULT IF_PASS COUNT 1>
10595 .*---------------------------------------------------------------------*
10596 :h4.Allowed matching mechanisms - template subset (enumerated in control part)
10597 .*---------------------------------------------------------------------*
10600 <TC - Allowed matching mechanisms - template subset (enumerated in control part)>
10603 <VERDICT_LEAF PASS>
10604 <MODULE TTCN x x.ttcn>
10607 type enumerated enumT { ONE(1), TWO(2), THREE(3) };
10609 const enumT c1:= ONE;
10610 const enumT c2:= TWO;
10613 var template enumT r:= subset (c1, c2);
10618 <RESULT IF_PASS COUNT 1>
10619 (?im)error.+?subset.+?match.+?cannot.+?used
10621 <RESULT IF_PASS COUNT 1>
10628 .*---------------------------------------------------------------------*
10629 :h4.Allowed matching mechanisms - template subset (enumerated in function)
10630 .*---------------------------------------------------------------------*
10633 <TC - Allowed matching mechanisms - template subset (enumerated in function)>
10636 <VERDICT_LEAF PASS>
10637 <MODULE TTCN x x.ttcn>
10640 type enumerated enumT { ONE(1), TWO(2), THREE(3) };
10642 const enumT c1:= ONE;
10643 const enumT c2:= TWO;
10645 function myFunct(){
10646 var template enumT r:= subset (c1, c2);
10651 <RESULT IF_PASS COUNT 1>
10652 (?im)error.+?subset.+?match.+?cannot.+?used
10654 <RESULT IF_PASS COUNT 1>
10661 .*---------------------------------------------------------------------*
10662 :h4.Allowed matching mechanisms - template subset (union in def.part)
10663 .*---------------------------------------------------------------------*
10666 <TC - Allowed matching mechanisms - template subset (union in def.part)>
10669 <VERDICT_LEAF PASS>
10670 <MODULE TTCN x x.ttcn>
10679 const uniT c1:= { f1:= 1 };
10680 const uniT c2:= { f2:= 7.0 };
10682 template uniT r:= subset (c1, c2);
10686 <RESULT IF_PASS COUNT 1>
10687 (?im)error.+?subset.+?match.+?cannot.+?used
10689 <RESULT IF_PASS COUNT 1>
10696 .*---------------------------------------------------------------------*
10697 :h4.Allowed matching mechanisms - template subset (union in control part)
10698 .*---------------------------------------------------------------------*
10701 <TC - Allowed matching mechanisms - template subset (union in control part)>
10704 <VERDICT_LEAF PASS>
10705 <MODULE TTCN x x.ttcn>
10714 const uniT c1:= { f1:= 1 };
10715 const uniT c2:= { f2:= 7.0 };
10718 var template uniT r:= subset (c1, c2);
10723 <RESULT IF_PASS COUNT 1>
10724 (?im)error.+?subset.+?match.+?cannot.+?used
10726 <RESULT IF_PASS COUNT 1>
10733 .*---------------------------------------------------------------------*
10734 :h4.Allowed matching mechanisms - template subset (union in function)
10735 .*---------------------------------------------------------------------*
10738 <TC - Allowed matching mechanisms - template subset (union in function)>
10741 <VERDICT_LEAF PASS>
10742 <MODULE TTCN x x.ttcn>
10751 const uniT c1:= { f1:= 1 };
10752 const uniT c2:= { f2:= 7.0 };
10754 function myFunct(){
10755 var template uniT r:= subset (c1, c2);
10760 <RESULT IF_PASS COUNT 1>
10761 (?im)error.+?subset.+?match.+?cannot.+?used
10763 <RESULT IF_PASS COUNT 1>
10770 .*---------------------------------------------------------------------*
10771 :h4.Allowed matching mechanisms - template subset (array in def. part)
10772 .*---------------------------------------------------------------------*
10775 <TC - Allowed matching mechanisms - template subset (array in def.part)>
10778 <VERDICT_LEAF PASS>
10779 <MODULE TTCN x x.ttcn>
10782 type integer myint[1];
10784 const myint c1:={1};
10785 const myint c2 :={3};
10787 template myint r := subset(c1,c2);
10791 <RESULT IF_PASS COUNT 1>
10792 (?im)error.+?subset.+?match.+?cannot.+?used
10794 <RESULT IF_PASS COUNT 1>
10801 .*---------------------------------------------------------------------*
10802 :h4.Allowed matching mechanisms - template subset (array in control part)
10803 .*---------------------------------------------------------------------*
10806 <TC - Allowed matching mechanisms - template subset (array in control part)>
10809 <VERDICT_LEAF PASS>
10810 <MODULE TTCN x x.ttcn>
10813 type integer myint[1];
10815 const myint c1:={1};
10816 const myint c2 :={3};
10819 template myint r := subset(c1,c2);
10823 <RESULT IF_PASS COUNT 1>
10824 (?im)error.+?subset.+?match.+?cannot.+?used
10826 <RESULT IF_PASS COUNT 1>
10833 .*---------------------------------------------------------------------*
10834 :h4.Allowed matching mechanisms - template subset (array in function)
10835 .*---------------------------------------------------------------------*
10838 <TC - Allowed matching mechanisms - template subset (array in function)>
10841 <VERDICT_LEAF PASS>
10842 <MODULE TTCN x x.ttcn>
10845 type integer myint[1];
10847 const myint c1:={1};
10848 const myint c2 :={3};
10850 function myFunct(){
10851 template myint r := subset(c1,c2);
10855 <RESULT IF_PASS COUNT 1>
10856 (?im)error.+?subset.+?match.+?cannot.+?used
10858 <RESULT IF_PASS COUNT 1>
10865 .*---------------------------------------------------------------------*
10866 :h4.Allowed matching mechanisms - template length-restriction (boolean in def.part)
10867 .*---------------------------------------------------------------------*
10870 <TC - Allowed matching mechanisms - template length-restriction (boolean in def.part)>
10873 <VERDICT_LEAF PASS>
10874 <MODULE TTCN x x.ttcn>
10877 template boolean r:= ? length(1);
10881 <RESULT IF_PASS COUNT 1>
10882 (?im)error.+?Length.+?restriction.+?cannot.+?used
10884 <RESULT IF_PASS COUNT 1>
10891 .*---------------------------------------------------------------------*
10892 :h4.Allowed matching mechanisms - template length-restriction (boolean in control part)
10893 .*---------------------------------------------------------------------*
10896 <TC - Allowed matching mechanisms - template length-restriction (boolean in control part)>
10899 <VERDICT_LEAF PASS>
10900 <MODULE TTCN x x.ttcn>
10904 var template boolean r:= ? length(1);
10909 <RESULT IF_PASS COUNT 1>
10910 (?im)error.+?Length.+?restriction.+?cannot.+?used
10912 <RESULT IF_PASS COUNT 1>
10919 .*---------------------------------------------------------------------*
10920 :h4.Allowed matching mechanisms - template length-restriction (boolean in function)
10921 .*---------------------------------------------------------------------*
10924 <TC - Allowed matching mechanisms - template length-restriction (boolean in function)>
10927 <VERDICT_LEAF PASS>
10928 <MODULE TTCN x x.ttcn>
10931 function myFunct(){
10932 var template boolean r:= ? length(1);
10937 <RESULT IF_PASS COUNT 1>
10938 (?im)error.+?Length.+?restriction.+?cannot.+?used
10940 <RESULT IF_PASS COUNT 1>
10947 .*---------------------------------------------------------------------*
10948 :h4.Allowed matching mechanisms - template length-restriction (integer in def.part)
10949 .*---------------------------------------------------------------------*
10952 <TC - Allowed matching mechanisms - template length-restriction (integer in def.part)>
10955 <VERDICT_LEAF PASS>
10956 <MODULE TTCN x x.ttcn>
10959 template integer r:= ? length(1);
10963 <RESULT IF_PASS COUNT 1>
10964 (?im)error.+?Length.+?restriction.+?cannot.+?used
10966 <RESULT IF_PASS COUNT 1>
10973 .*---------------------------------------------------------------------*
10974 :h4.Allowed matching mechanisms - template length-restriction (integer in control part)
10975 .*---------------------------------------------------------------------*
10978 <TC - Allowed matching mechanisms - template length-restriction (integer in control part)>
10981 <VERDICT_LEAF PASS>
10982 <MODULE TTCN x x.ttcn>
10986 var template integer r:= ? length(1);
10991 <RESULT IF_PASS COUNT 1>
10992 (?im)error.+?Length.+?restriction.+?cannot.+?used
10994 <RESULT IF_PASS COUNT 1>
11001 .*---------------------------------------------------------------------*
11002 :h4.Allowed matching mechanisms - template length-restriction (integer in function)
11003 .*---------------------------------------------------------------------*
11006 <TC - Allowed matching mechanisms - template length-restriction (integer in function)>
11009 <VERDICT_LEAF PASS>
11010 <MODULE TTCN x x.ttcn>
11013 function myFunct(){
11014 var template integer r:= ? length(1);
11019 <RESULT IF_PASS COUNT 1>
11020 (?im)error.+?Length.+?restriction.+?cannot.+?used
11022 <RESULT IF_PASS COUNT 1>
11029 .*---------------------------------------------------------------------*
11030 :h4.Allowed matching mechanisms - template length-restriction (float in def.part)
11031 .*---------------------------------------------------------------------*
11034 <TC - Allowed matching mechanisms - template length-restriction (float in def.part)>
11037 <VERDICT_LEAF PASS>
11038 <MODULE TTCN x x.ttcn>
11041 template float r:= ? length(1);
11045 <RESULT IF_PASS COUNT 1>
11046 (?im)error.+?Length.+?restriction.+?cannot.+?used
11048 <RESULT IF_PASS COUNT 1>
11055 .*---------------------------------------------------------------------*
11056 :h4.Allowed matching mechanisms - template length-restriction (float in control part)
11057 .*---------------------------------------------------------------------*
11060 <TC - Allowed matching mechanisms - template length-restriction (float in control part)>
11063 <VERDICT_LEAF PASS>
11064 <MODULE TTCN x x.ttcn>
11068 var template float r:= ? length(1);
11073 <RESULT IF_PASS COUNT 1>
11074 (?im)error.+?Length.+?restriction.+?cannot.+?used
11076 <RESULT IF_PASS COUNT 1>
11083 .*---------------------------------------------------------------------*
11084 :h4.Allowed matching mechanisms - template length-restriction (float in function)
11085 .*---------------------------------------------------------------------*
11088 <TC - Allowed matching mechanisms - template length-restriction (float in function)>
11091 <VERDICT_LEAF PASS>
11092 <MODULE TTCN x x.ttcn>
11095 function myFunct(){
11096 var template float r:= ? length(1);
11101 <RESULT IF_PASS COUNT 1>
11102 (?im)error.+?Length.+?restriction.+?cannot.+?used
11104 <RESULT IF_PASS COUNT 1>
11111 .*---------------------------------------------------------------------*
11112 :h4.Allowed matching mechanisms - template length-restriction (record in def.part)
11113 .*---------------------------------------------------------------------*
11116 <TC - Allowed matching mechanisms - template length-restriction (record in def.part)>
11119 <VERDICT_LEAF PASS>
11120 <MODULE TTCN x x.ttcn>
11129 template recT r:= ? length(1);
11133 <RESULT IF_PASS COUNT 1>
11134 (?im)error.+?Length.+?restriction.+?cannot.+?used
11136 <RESULT IF_PASS COUNT 1>
11143 .*---------------------------------------------------------------------*
11144 :h4.Allowed matching mechanisms - template length-restriction (record in control part)
11145 .*---------------------------------------------------------------------*
11148 <TC - Allowed matching mechanisms - template length-restriction (record in control part)>
11151 <VERDICT_LEAF PASS>
11152 <MODULE TTCN x x.ttcn>
11162 var template recT r:= ? length(1);
11167 <RESULT IF_PASS COUNT 1>
11168 (?im)error.+?Length.+?restriction.+?cannot.+?used
11170 <RESULT IF_PASS COUNT 1>
11177 .*---------------------------------------------------------------------*
11178 :h4.Allowed matching mechanisms - template length-restriction (record in function)
11179 .*---------------------------------------------------------------------*
11182 <TC - Allowed matching mechanisms - template length-restriction (record in function)>
11185 <VERDICT_LEAF PASS>
11186 <MODULE TTCN x x.ttcn>
11195 function myFunct(){
11196 var template recT r:= ? length(1);
11201 <RESULT IF_PASS COUNT 1>
11202 (?im)error.+?Length.+?restriction.+?cannot.+?used
11204 <RESULT IF_PASS COUNT 1>
11211 .*---------------------------------------------------------------------*
11212 :h4.Allowed matching mechanisms - template length-restriction (set in def.part)
11213 .*---------------------------------------------------------------------*
11216 <TC - Allowed matching mechanisms - template length-restriction (set in def.part)>
11219 <VERDICT_LEAF PASS>
11220 <MODULE TTCN x x.ttcn>
11229 template setT r:= ? length(1);
11233 <RESULT IF_PASS COUNT 1>
11234 (?im)error.+?Length.+?restriction.+?cannot.+?used
11236 <RESULT IF_PASS COUNT 1>
11243 .*---------------------------------------------------------------------*
11244 :h4.Allowed matching mechanisms - template length-restriction (set in control part)
11245 .*---------------------------------------------------------------------*
11248 <TC - Allowed matching mechanisms - template length-restriction (set in control part)>
11251 <VERDICT_LEAF PASS>
11252 <MODULE TTCN x x.ttcn>
11262 var template setT r:= ? length(1);
11267 <RESULT IF_PASS COUNT 1>
11268 (?im)error.+?Length.+?restriction.+?cannot.+?used
11270 <RESULT IF_PASS COUNT 1>
11277 .*---------------------------------------------------------------------*
11278 :h4.Allowed matching mechanisms - template length-restriction (set in function)
11279 .*---------------------------------------------------------------------*
11282 <TC - Allowed matching mechanisms - template length-restriction (set in function)>
11285 <VERDICT_LEAF PASS>
11286 <MODULE TTCN x x.ttcn>
11295 function myFunct(){
11296 var template setT r:= ? length(1);
11301 <RESULT IF_PASS COUNT 1>
11302 (?im)error.+?Length.+?restriction.+?cannot.+?used
11304 <RESULT IF_PASS COUNT 1>
11311 .*---------------------------------------------------------------------*
11312 :h4.Allowed matching mechanisms - template length-restriction (enumerated in def.part)
11313 .*---------------------------------------------------------------------*
11316 <TC - Allowed matching mechanisms - template length-restriction (enumerated in def.part)>
11319 <VERDICT_LEAF PASS>
11320 <MODULE TTCN x x.ttcn>
11323 type enumerated enumT { ONE(1), TWO(2), THREE(3) };
11325 template enumT r:= ? length(1);
11329 <RESULT IF_PASS COUNT 1>
11330 (?im)error.+?Length.+?restriction.+?cannot.+?used
11332 <RESULT IF_PASS COUNT 1>
11339 .*---------------------------------------------------------------------*
11340 :h4.Allowed matching mechanisms - template length-restriction (enumerated in control part)
11341 .*---------------------------------------------------------------------*
11344 <TC - Allowed matching mechanisms - template length-restriction (enumerated in control part)>
11347 <VERDICT_LEAF PASS>
11348 <MODULE TTCN x x.ttcn>
11351 type enumerated enumT { ONE(1), TWO(2), THREE(3) };
11354 var template enumT r:= ? length(1);
11359 <RESULT IF_PASS COUNT 1>
11360 (?im)error.+?Length.+?restriction.+?cannot.+?used
11362 <RESULT IF_PASS COUNT 1>
11369 .*---------------------------------------------------------------------*
11370 :h4.Allowed matching mechanisms - template length-restriction (enumerated in function)
11371 .*---------------------------------------------------------------------*
11374 <TC - Allowed matching mechanisms - template length-restriction (enumerated in function)>
11377 <VERDICT_LEAF PASS>
11378 <MODULE TTCN x x.ttcn>
11381 type enumerated enumT { ONE(1), TWO(2), THREE(3) };
11383 function myFunct(){
11384 var template enumT r:= ? length(1);
11389 <RESULT IF_PASS COUNT 1>
11390 (?im)error.+?Length.+?restriction.+?cannot.+?used
11392 <RESULT IF_PASS COUNT 1>
11399 .*---------------------------------------------------------------------*
11400 :h4.Allowed matching mechanisms - template length-restriction (union in def.part)
11401 .*---------------------------------------------------------------------*
11404 <TC - Allowed matching mechanisms - template length-restriction (union in def.part)>
11407 <VERDICT_LEAF PASS>
11408 <MODULE TTCN x x.ttcn>
11417 template uniT r:= ? length(1);
11421 <RESULT IF_PASS COUNT 1>
11422 (?im)error.+?Length.+?restriction.+?cannot.+?used
11424 <RESULT IF_PASS COUNT 1>
11431 .*---------------------------------------------------------------------*
11432 :h4.Allowed matching mechanisms - template length-restriction (union in control part)
11433 .*---------------------------------------------------------------------*
11436 <TC - Allowed matching mechanisms - template length-restriction (union in control part)>
11439 <VERDICT_LEAF PASS>
11440 <MODULE TTCN x x.ttcn>
11450 var template uniT r:= ? length(1);
11455 <RESULT IF_PASS COUNT 1>
11456 (?im)error.+?Length.+?restriction.+?cannot.+?used
11458 <RESULT IF_PASS COUNT 1>
11465 .*---------------------------------------------------------------------*
11466 :h4.Allowed matching mechanisms - template length-restriction (union in function)
11467 .*---------------------------------------------------------------------*
11470 <TC - Allowed matching mechanisms - template length-restriction (union in function)>
11473 <VERDICT_LEAF PASS>
11474 <MODULE TTCN x x.ttcn>
11483 function myFunct(){
11484 var template uniT r:= ? length(1);
11489 <RESULT IF_PASS COUNT 1>
11490 (?im)error.+?Length.+?restriction.+?cannot.+?used
11492 <RESULT IF_PASS COUNT 1>
11499 .*---------------------------------------------------------------------*
11500 :h4.Allowed matching mechanisms - template length-restriction (array in def.part)
11501 .*---------------------------------------------------------------------*
11504 <TC - Allowed matching mechanisms - template length-restriction (array in def.part)>
11507 <VERDICT_LEAF PASS>
11508 <MODULE TTCN x x.ttcn>
11511 type integer arrint[1];
11513 template arrint r:= ? length(10);
11517 <RESULT IF_PASS COUNT 1>
11518 (?im)error.+?number.+?elements.+?allowed.+?length.+?restriction.+?contradicts.+?array.+?size
11520 <RESULT IF_PASS COUNT 1>
11527 .*---------------------------------------------------------------------*
11528 :h4.Allowed matching mechanisms - template length-restriction (array in control part)
11529 .*---------------------------------------------------------------------*
11532 <TC - Allowed matching mechanisms - template length-restriction (array in control part)>
11535 <VERDICT_LEAF PASS>
11536 <MODULE TTCN x x.ttcn>
11539 type integer arrint[1];
11543 template arrint r:= ? length(10);
11547 <RESULT IF_PASS COUNT 1>
11548 (?im)error.+?number.+?elements.+?allowed.+?length.+?restriction.+?contradicts.+?array.+?size
11550 <RESULT IF_PASS COUNT 1>
11557 .*---------------------------------------------------------------------*
11558 :h4.Allowed matching mechanisms - template length-restriction (array in function)
11559 .*---------------------------------------------------------------------*
11562 <TC - Allowed matching mechanisms - template length-restriction (array in function)>
11565 <VERDICT_LEAF PASS>
11566 <MODULE TTCN x x.ttcn>
11569 type integer arrint[1];
11571 function myFunct(){
11573 template arrint r:= ? length(10);
11577 <RESULT IF_PASS COUNT 1>
11578 (?im)error.+?number.+?elements.+?allowed.+?length.+?restriction.+?contradicts.+?array.+?size
11580 <RESULT IF_PASS COUNT 1>
11587 .*---------------------------------------------------------------------*
11588 :h4.Allowed matching mechanisms - template ifpresent (boolean in def.part)
11589 .*---------------------------------------------------------------------*
11592 <TC - Allowed matching mechanisms - template ifpresent (boolean in def.part)>
11595 <VERDICT_LEAF PASS>
11596 <MODULE TTCN x x.ttcn>
11599 template boolean f:= ? ifpresent;
11603 <RESULT IF_PASS NEGATIVE>
11610 .*---------------------------------------------------------------------*
11611 :h4.Allowed matching mechanisms - template ifpresent (boolean in control part)
11612 .*---------------------------------------------------------------------*
11615 <TC - Allowed matching mechanisms - template ifpresent (boolean in control part)>
11618 <VERDICT_LEAF PASS>
11619 <MODULE TTCN x x.ttcn>
11623 var template boolean f:= ? ifpresent;
11628 <RESULT IF_PASS NEGATIVE>
11635 .*---------------------------------------------------------------------*
11636 :h4.Allowed matching mechanisms - template ifpresent (boolean in function)
11637 .*---------------------------------------------------------------------*
11640 <TC - Allowed matching mechanisms - template ifpresent (boolean in function)>
11643 <VERDICT_LEAF PASS>
11644 <MODULE TTCN x x.ttcn>
11647 function myFunct(){
11648 var template boolean f:= ? ifpresent;
11653 <RESULT IF_PASS NEGATIVE>
11660 .*---------------------------------------------------------------------*
11661 :h4.Allowed matching mechanisms - template ifpresent (integer in def.part)
11662 .*---------------------------------------------------------------------*
11665 <TC - Allowed matching mechanisms - template ifpresent (integer in def.part)>
11668 <VERDICT_LEAF PASS>
11669 <MODULE TTCN x x.ttcn>
11672 template integer f:= ? ifpresent;
11676 <RESULT IF_PASS NEGATIVE>
11683 .*---------------------------------------------------------------------*
11684 :h4.Allowed matching mechanisms - template ifpresent (integer in control part)
11685 .*---------------------------------------------------------------------*
11688 <TC - Allowed matching mechanisms - template ifpresent (integer in control part)>
11691 <VERDICT_LEAF PASS>
11692 <MODULE TTCN x x.ttcn>
11696 var template integer f:= ? ifpresent;
11701 <RESULT IF_PASS NEGATIVE>
11708 .*---------------------------------------------------------------------*
11709 :h4.Allowed matching mechanisms - template ifpresent (integer in function)
11710 .*---------------------------------------------------------------------*
11713 <TC - Allowed matching mechanisms - template ifpresent (integer in function)>
11716 <VERDICT_LEAF PASS>
11717 <MODULE TTCN x x.ttcn>
11720 function myFunct(){
11721 var template integer f:= ? ifpresent;
11726 <RESULT IF_PASS NEGATIVE>
11733 .*---------------------------------------------------------------------*
11734 :h4.Allowed matching mechanisms - template ifpresent (float in def.part)
11735 .*---------------------------------------------------------------------*
11738 <TC - Allowed matching mechanisms - template ifpresent (float in def.part)>
11741 <VERDICT_LEAF PASS>
11742 <MODULE TTCN x x.ttcn>
11745 template float f:= ? ifpresent;
11749 <RESULT IF_PASS NEGATIVE>
11756 .*---------------------------------------------------------------------*
11757 :h4.Allowed matching mechanisms - template ifpresent (float in control part)
11758 .*---------------------------------------------------------------------*
11761 <TC - Allowed matching mechanisms - template ifpresent (float in control part)>
11764 <VERDICT_LEAF PASS>
11765 <MODULE TTCN x x.ttcn>
11769 var template float f:= ? ifpresent;
11774 <RESULT IF_PASS NEGATIVE>
11781 .*---------------------------------------------------------------------*
11782 :h4.Allowed matching mechanisms - template ifpresent (float in function)
11783 .*---------------------------------------------------------------------*
11786 <TC - Allowed matching mechanisms - template ifpresent (float in function)>
11789 <VERDICT_LEAF PASS>
11790 <MODULE TTCN x x.ttcn>
11793 function myFunct(){
11794 var template float f:= ? ifpresent;
11799 <RESULT IF_PASS NEGATIVE>
11806 .*---------------------------------------------------------------------*
11807 :h4.Allowed matching mechanisms - template ifpresent (bitstring in def.part)
11808 .*---------------------------------------------------------------------*
11811 <TC - Allowed matching mechanisms - template ifpresent (bitstring in def.part)>
11814 <VERDICT_LEAF PASS>
11815 <MODULE TTCN x x.ttcn>
11818 template bitstring f:= ? ifpresent;
11822 <RESULT IF_PASS NEGATIVE>
11829 .*---------------------------------------------------------------------*
11830 :h4.Allowed matching mechanisms - template ifpresent (bitstring in control part)
11831 .*---------------------------------------------------------------------*
11834 <TC - Allowed matching mechanisms - template ifpresent (bitstring in control part)>
11837 <VERDICT_LEAF PASS>
11838 <MODULE TTCN x x.ttcn>
11842 var template bitstring f:= ? ifpresent;
11847 <RESULT IF_PASS NEGATIVE>
11854 .*---------------------------------------------------------------------*
11855 :h4.Allowed matching mechanisms - template ifpresent (bitstring in function)
11856 .*---------------------------------------------------------------------*
11859 <TC - Allowed matching mechanisms - template ifpresent (bitstring in function)>
11862 <VERDICT_LEAF PASS>
11863 <MODULE TTCN x x.ttcn>
11866 function myFunct(){
11867 var template bitstring f:= ? ifpresent;
11872 <RESULT IF_PASS NEGATIVE>
11879 .*---------------------------------------------------------------------*
11880 :h4.Allowed matching mechanisms - template ifpresent (octetstring in def.part)
11881 .*---------------------------------------------------------------------*
11884 <TC - Allowed matching mechanisms - template ifpresent (octetstring in def.part)>
11887 <VERDICT_LEAF PASS>
11888 <MODULE TTCN x x.ttcn>
11891 template octetstring f:= ? ifpresent;
11895 <RESULT IF_PASS NEGATIVE>
11902 .*---------------------------------------------------------------------*
11903 :h4.Allowed matching mechanisms - template ifpresent (octetstring in control part)
11904 .*---------------------------------------------------------------------*
11907 <TC - Allowed matching mechanisms - template ifpresent (octetstring in control part)>
11910 <VERDICT_LEAF PASS>
11911 <MODULE TTCN x x.ttcn>
11915 var template octetstring f:= ? ifpresent;
11920 <RESULT IF_PASS NEGATIVE>
11927 .*---------------------------------------------------------------------*
11928 :h4.Allowed matching mechanisms - template ifpresent (octetstring in function)
11929 .*---------------------------------------------------------------------*
11932 <TC - Allowed matching mechanisms - template ifpresent (octetstring in function)>
11935 <VERDICT_LEAF PASS>
11936 <MODULE TTCN x x.ttcn>
11939 function myFunct(){
11940 var template octetstring f:= ? ifpresent;
11945 <RESULT IF_PASS NEGATIVE>
11952 .*---------------------------------------------------------------------*
11953 :h4.Allowed matching mechanisms - template ifpresent (hexstring in def.part)
11954 .*---------------------------------------------------------------------*
11957 <TC - Allowed matching mechanisms - template ifpresent (hexstring in def.part)>
11960 <VERDICT_LEAF PASS>
11961 <MODULE TTCN x x.ttcn>
11964 template hexstring f:= ? ifpresent;
11968 <RESULT IF_PASS NEGATIVE>
11975 .*---------------------------------------------------------------------*
11976 :h4.Allowed matching mechanisms - template ifpresent (hexstring in control part)
11977 .*---------------------------------------------------------------------*
11980 <TC - Allowed matching mechanisms - template ifpresent (hexstring in control part)>
11983 <VERDICT_LEAF PASS>
11984 <MODULE TTCN x x.ttcn>
11988 var template hexstring f:= ? ifpresent;
11993 <RESULT IF_PASS NEGATIVE>
12000 .*---------------------------------------------------------------------*
12001 :h4.Allowed matching mechanisms - template ifpresent (hexstring in function)
12002 .*---------------------------------------------------------------------*
12005 <TC - Allowed matching mechanisms - template ifpresent (hexstring in function)>
12008 <VERDICT_LEAF PASS>
12009 <MODULE TTCN x x.ttcn>
12012 function myFunct(){
12013 var template hexstring f:= ? ifpresent;
12018 <RESULT IF_PASS NEGATIVE>
12025 .*---------------------------------------------------------------------*
12026 :h4.Allowed matching mechanisms - template ifpresent (charstring in def.part)
12027 .*---------------------------------------------------------------------*
12030 <TC - Allowed matching mechanisms - template ifpresent (charstring in def.part)>
12033 <VERDICT_LEAF PASS>
12034 <MODULE TTCN x x.ttcn>
12037 template charstring f:= ? ifpresent;
12041 <RESULT IF_PASS NEGATIVE>
12048 .*---------------------------------------------------------------------*
12049 :h4.Allowed matching mechanisms - template ifpresent (charstring in control part)
12050 .*---------------------------------------------------------------------*
12053 <TC - Allowed matching mechanisms - template ifpresent (charstring in control part)>
12056 <VERDICT_LEAF PASS>
12057 <MODULE TTCN x x.ttcn>
12061 var template charstring f:= ? ifpresent;
12066 <RESULT IF_PASS NEGATIVE>
12073 .*---------------------------------------------------------------------*
12074 :h4.Allowed matching mechanisms - template ifpresent (charstring in function)
12075 .*---------------------------------------------------------------------*
12078 <TC - Allowed matching mechanisms - template ifpresent (charstring in function)>
12081 <VERDICT_LEAF PASS>
12082 <MODULE TTCN x x.ttcn>
12085 function myFunct(){
12086 var template charstring f:= ? ifpresent;
12091 <RESULT IF_PASS NEGATIVE>
12098 .*---------------------------------------------------------------------*
12099 :h4.Allowed matching mechanisms - template ifpresent (record of in def.part)
12100 .*---------------------------------------------------------------------*
12103 <TC - Allowed matching mechanisms - template ifpresent (record of in def.part)>
12106 <VERDICT_LEAF PASS>
12107 <MODULE TTCN x x.ttcn>
12110 type record of integer rofT;
12112 template rofT f:= ? ifpresent;
12116 <RESULT IF_PASS NEGATIVE>
12123 .*---------------------------------------------------------------------*
12124 :h4.Allowed matching mechanisms - template ifpresent (record of in control part)
12125 .*---------------------------------------------------------------------*
12128 <TC - Allowed matching mechanisms - template ifpresent (record of in control part)>
12131 <VERDICT_LEAF PASS>
12132 <MODULE TTCN x x.ttcn>
12135 type record of integer rofT;
12138 var template rofT f:= ? ifpresent;
12143 <RESULT IF_PASS NEGATIVE>
12150 .*---------------------------------------------------------------------*
12151 :h4.Allowed matching mechanisms - template ifpresent (record of in function)
12152 .*---------------------------------------------------------------------*
12155 <TC - Allowed matching mechanisms - template ifpresent (record of in function)>
12158 <VERDICT_LEAF PASS>
12159 <MODULE TTCN x x.ttcn>
12162 type record of integer rofT;
12164 function myFunct(){
12165 var template rofT f:= ? ifpresent;
12170 <RESULT IF_PASS NEGATIVE>
12177 .*---------------------------------------------------------------------*
12178 :h4.Allowed matching mechanisms - template ifpresent (set of in def.part)
12179 .*---------------------------------------------------------------------*
12182 <TC - Allowed matching mechanisms - template ifpresent (set of in def.part)>
12185 <VERDICT_LEAF PASS>
12186 <MODULE TTCN x x.ttcn>
12189 type set of integer sofT;
12191 template sofT f:= ? ifpresent;
12195 <RESULT IF_PASS NEGATIVE>
12202 .*---------------------------------------------------------------------*
12203 :h4.Allowed matching mechanisms - template ifpresent (set of in control part)
12204 .*---------------------------------------------------------------------*
12207 <TC - Allowed matching mechanisms - template ifpresent (set of in control part)>
12210 <VERDICT_LEAF PASS>
12211 <MODULE TTCN x x.ttcn>
12214 type set of integer sofT;
12217 var template sofT f:= ? ifpresent;
12222 <RESULT IF_PASS NEGATIVE>
12229 .*---------------------------------------------------------------------*
12230 :h4.Allowed matching mechanisms - template ifpresent (set of in function)
12231 .*---------------------------------------------------------------------*
12234 <TC - Allowed matching mechanisms - template ifpresent (set of in function)>
12237 <VERDICT_LEAF PASS>
12238 <MODULE TTCN x x.ttcn>
12241 type set of integer sofT;
12243 function myFunct(){
12244 var template sofT f:= ? ifpresent;
12249 <RESULT IF_PASS NEGATIVE>
12256 .*---------------------------------------------------------------------*
12257 :h4.Allowed matching mechanisms - template ifpresent (enumerated in def.part)
12258 .*---------------------------------------------------------------------*
12261 <TC - Allowed matching mechanisms - template ifpresent (enumerated in def.part)>
12264 <VERDICT_LEAF PASS>
12265 <MODULE TTCN x x.ttcn>
12268 type enumerated enumT { ONE(1), TWO(2), THREE(3) };
12270 template enumT f:= ? ifpresent;
12274 <RESULT IF_PASS NEGATIVE>
12281 .*---------------------------------------------------------------------*
12282 :h4.Allowed matching mechanisms - template ifpresent (enumerated in control part)
12283 .*---------------------------------------------------------------------*
12286 <TC - Allowed matching mechanisms - template ifpresent (enumerated in control part)>
12289 <VERDICT_LEAF PASS>
12290 <MODULE TTCN x x.ttcn>
12293 type enumerated enumT { ONE(1), TWO(2), THREE(3) };
12296 var template enumT f:= ? ifpresent;
12301 <RESULT IF_PASS NEGATIVE>
12308 .*---------------------------------------------------------------------*
12309 :h4.Allowed matching mechanisms - template ifpresent (enumerated in function)
12310 .*---------------------------------------------------------------------*
12313 <TC - Allowed matching mechanisms - template ifpresent (enumerated in function)>
12316 <VERDICT_LEAF PASS>
12317 <MODULE TTCN x x.ttcn>
12320 type enumerated enumT { ONE(1), TWO(2), THREE(3) };
12322 function myFunct(){
12323 var template enumT f:= ? ifpresent;
12328 <RESULT IF_PASS NEGATIVE>
12335 .*---------------------------------------------------------------------*
12336 :h4.Allowed matching mechanisms - template ifpresent (union in def.part)
12337 .*---------------------------------------------------------------------*
12340 <TC - Allowed matching mechanisms - template ifpresent (union in def.part)>
12343 <VERDICT_LEAF PASS>
12344 <MODULE TTCN x x.ttcn>
12353 template uniT f:= ? ifpresent;
12357 <RESULT IF_PASS NEGATIVE>
12364 .*---------------------------------------------------------------------*
12365 :h4.Allowed matching mechanisms - template ifpresent (union in control part)
12366 .*---------------------------------------------------------------------*
12369 <TC - Allowed matching mechanisms - template ifpresent (union in control part)>
12372 <VERDICT_LEAF PASS>
12373 <MODULE TTCN x x.ttcn>
12383 var template uniT f:= ? ifpresent;
12388 <RESULT IF_PASS NEGATIVE>
12395 .*---------------------------------------------------------------------*
12396 :h4.Allowed matching mechanisms - template ifpresent (union in function)
12397 .*---------------------------------------------------------------------*
12400 <TC - Allowed matching mechanisms - template ifpresent (union in function)>
12403 <VERDICT_LEAF PASS>
12404 <MODULE TTCN x x.ttcn>
12413 function myFunct(){
12414 var template uniT f:= ? ifpresent;
12419 <RESULT IF_PASS NEGATIVE>
12426 .*---------------------------------------------------------------------*
12427 :h4.Allowed matching mechanisms - template ifpresent (array in def.part)
12428 .*---------------------------------------------------------------------*
12431 <TC - Allowed matching mechanisms - template ifpresent (array in def.part)>
12434 <VERDICT_LEAF PASS>
12435 <MODULE TTCN x x.ttcn>
12438 type integer arrint[1];
12440 template arrint f:= ? ifpresent;
12444 <RESULT IF_PASS NEGATIVE>
12451 .*---------------------------------------------------------------------*
12452 :h4.Allowed matching mechanisms - template ifpresent (array in control part)
12453 .*---------------------------------------------------------------------*
12456 <TC - Allowed matching mechanisms - template ifpresent (array in control part)>
12459 <VERDICT_LEAF PASS>
12460 <MODULE TTCN x x.ttcn>
12463 type integer arrint[1];
12466 template arrint f:= ? ifpresent;
12471 <RESULT IF_PASS NEGATIVE>
12478 .*---------------------------------------------------------------------*
12479 :h4.Allowed matching mechanisms - template ifpresent (array in function)
12480 .*---------------------------------------------------------------------*
12483 <TC - Allowed matching mechanisms - template ifpresent (array in function)>
12486 <VERDICT_LEAF PASS>
12487 <MODULE TTCN x x.ttcn>
12490 type integer arrint[1];
12492 function myFunct(){
12493 template arrint f:= ? ifpresent;
12498 <RESULT IF_PASS NEGATIVE>
12505 .*---------------------------------------------------------------------*
12506 :h4.Allowed matching mechanisms - inline-template range (boolean in function)
12507 .*---------------------------------------------------------------------*
12510 <TC - Allowed matching mechanisms - inline-template range (boolean in function)>
12513 <VERDICT_LEAF PASS>
12514 <MODULE TTCN x x.ttcn>
12517 type port portT message {
12519 } with {extension "internal"}
12525 function myFunct() runs on c {
12527 const boolean c1:= false;
12528 const boolean c2:= true;
12531 [] myPort.receive( (c1..c2) )
12538 <RESULT IF_PASS COUNT 1>
12539 (?im)error.+?value.+?range.+?match.+?cannot.+?used
12541 <RESULT IF_PASS COUNT 1>
12547 .*---------------------------------------------------------------------*
12548 :h4.Allowed matching mechanisms - inline-template range (bitstring in function)
12549 .*---------------------------------------------------------------------*
12552 <TC - Allowed matching mechanisms - inline-template range (bitstring in function)>
12555 <VERDICT_LEAF PASS>
12556 <MODULE TTCN x x.ttcn>
12559 type port portT message {
12561 } with {extension "internal"}
12567 function myFunct() runs on c {
12569 const bitstring c1:= '000'B;
12570 const bitstring c2:= '111'B;
12573 [] myPort.receive( (c1..c2) )
12580 <RESULT IF_PASS COUNT 1>
12581 (?im)error.+?value.+?range.+?match.+?cannot.+?used
12583 <RESULT IF_PASS COUNT 1>
12590 .*---------------------------------------------------------------------*
12591 :h4.Allowed matching mechanisms - inline-template range (octetstring in function)
12592 .*---------------------------------------------------------------------*
12595 <TC - Allowed matching mechanisms - inline-template range (octetstring in function)>
12598 <VERDICT_LEAF PASS>
12599 <MODULE TTCN x x.ttcn>
12602 type port portT message {
12604 } with {extension "internal"}
12610 function myFunct() runs on c {
12612 const octetstring c1:= '0000'O;
12613 const octetstring c2:= '1111'O;
12616 [] myPort.receive( (c1..c2) )
12623 <RESULT IF_PASS COUNT 1>
12624 (?im)error.+?value.+?range.+?match.+?cannot.+?used
12626 <RESULT IF_PASS COUNT 1>
12633 .*---------------------------------------------------------------------*
12634 :h4.Allowed matching mechanisms - inline-template range (hexstring in function)
12635 .*---------------------------------------------------------------------*
12638 <TC - Allowed matching mechanisms - inline-template range (hexstring in function)>
12641 <VERDICT_LEAF PASS>
12642 <MODULE TTCN x x.ttcn>
12645 type port portT message {
12647 } with {extension "internal"}
12653 function myFunct() runs on c {
12655 const hexstring c1:= '0000'H;
12656 const hexstring c2:= '1111'H;
12659 [] myPort.receive( (c1..c2) )
12666 <RESULT IF_PASS COUNT 1>
12667 (?im)error.+?value.+?range.+?match.+?cannot.+?used
12669 <RESULT IF_PASS COUNT 1>
12676 .*---------------------------------------------------------------------*
12677 :h4.Allowed matching mechanisms - inline-template range (record in function)
12678 .*---------------------------------------------------------------------*
12681 <TC - Allowed matching mechanisms - inline-template range (record in function)>
12684 <VERDICT_LEAF PASS>
12685 <MODULE TTCN x x.ttcn>
12694 type port portT message {
12696 } with {extension "internal"}
12702 const recT c1:= { f1:= 1, f2:= 2.0, f3:= "a"};
12703 const recT c2:= { f1:= 5, f2:= 7.0, f3:= "z"};
12705 function myFunct() runs on c {
12708 [] myPort.receive( (c1..c2) )
12715 <RESULT IF_PASS COUNT 1>
12716 (?im)error.+?value.+?range.+?match.+?cannot.+?used
12718 <RESULT IF_PASS COUNT 1>
12725 .*---------------------------------------------------------------------*
12726 :h4.Allowed matching mechanisms - inline-template range (record of in function)
12727 .*---------------------------------------------------------------------*
12730 <TC - Allowed matching mechanisms - inline-template range (record of in function)>
12733 <VERDICT_LEAF PASS>
12734 <MODULE TTCN x x.ttcn>
12737 type record of integer rofT;
12739 const rofT c1:= { 1, 2, 3 };
12740 const rofT c2:= { 4, 5, 6 };
12742 type port portT message {
12744 } with {extension "internal"}
12750 function myFunct() runs on c {
12753 [] myPort.receive( (c1..c2) )
12760 <RESULT IF_PASS COUNT 1>
12761 (?im)error.+?value.+?range.+?match.+?cannot.+?used
12763 <RESULT IF_PASS COUNT 1>
12770 .*---------------------------------------------------------------------*
12771 :h4.Allowed matching mechanisms - inline-template range (set in function)
12772 .*---------------------------------------------------------------------*
12775 <TC - Allowed matching mechanisms - inline-template range (set in function)>
12778 <VERDICT_LEAF PASS>
12779 <MODULE TTCN x x.ttcn>
12788 type port portT message {
12790 } with {extension "internal"}
12796 const setT c1:= { f1:= 1, f2:= 2.0, f3:= "a"};
12797 const setT c2:= { f1:= 5, f2:= 7.0, f3:= "z"};
12799 function myFunct() runs on c {
12802 [] myPort.receive( (c1..c2) )
12809 <RESULT IF_PASS COUNT 1>
12810 (?im)error.+?value.+?range.+?match.+?cannot.+?used
12812 <RESULT IF_PASS COUNT 1>
12819 .*---------------------------------------------------------------------*
12820 :h4.Allowed matching mechanisms - inline-template range (set of in function)
12821 .*---------------------------------------------------------------------*
12824 <TC - Allowed matching mechanisms - inline-template range (set of in function)>
12827 <VERDICT_LEAF PASS>
12828 <MODULE TTCN x x.ttcn>
12831 type set of integer sofT;
12833 const sofT c1:= { 1, 2, 3 };
12834 const sofT c2:= { 4, 5, 6 };
12836 type port portT message {
12838 } with {extension "internal"}
12844 function myFunct() runs on c {
12847 [] myPort.receive( (c1..c2) )
12854 <RESULT IF_PASS COUNT 1>
12855 (?im)error.+?value.+?range.+?match.+?cannot.+?used
12857 <RESULT IF_PASS COUNT 1>
12864 .*---------------------------------------------------------------------*
12865 :h4.Allowed matching mechanisms - inline-template range (enumerated in function)
12866 .*---------------------------------------------------------------------*
12869 <TC - Allowed matching mechanisms - inline-template range (enumerated in function)>
12872 <VERDICT_LEAF PASS>
12873 <MODULE TTCN x x.ttcn>
12876 type enumerated enumT { ONE(1), TWO(2), THREE(3) };
12878 const enumT c1:= ONE;
12879 const enumT c2:= TWO;
12881 type port portT message {
12883 } with {extension "internal"}
12889 function myFunct() runs on c {
12892 [] myPort.receive( (c1..c2) )
12899 <RESULT IF_PASS COUNT 1>
12900 (?im)error.+?value.+?range.+?match.+?cannot.+?used
12902 <RESULT IF_PASS COUNT 1>
12909 .*---------------------------------------------------------------------*
12910 :h4.Allowed matching mechanisms - inline-template range (union in function)
12911 .*---------------------------------------------------------------------*
12914 <TC - Allowed matching mechanisms - inline-template range (union in function)>
12917 <VERDICT_LEAF PASS>
12918 <MODULE TTCN x x.ttcn>
12927 const uniT c1:= { f1:= 1 };
12928 const uniT c2:= { f1:= 5 };
12930 type port portT message {
12932 } with {extension "internal"}
12938 function myFunct() runs on c {
12941 [] myPort.receive( (c1..c2) )
12948 <RESULT IF_PASS COUNT 1>
12949 (?im)error.+?value.+?range.+?match.+?cannot.+?used
12951 <RESULT IF_PASS COUNT 1>
12958 .*---------------------------------------------------------------------*
12959 :h4.Allowed matching mechanisms - inline-template range (array in function)
12960 .*---------------------------------------------------------------------*
12963 <TC - Allowed matching mechanisms - inline-template range (array in function)>
12966 <VERDICT_LEAF PASS>
12967 <MODULE TTCN x x.ttcn>
12970 type integer arrint[1];
12972 const arrint c1:= { 1 };
12973 const arrint c2:= { 5 };
12975 type port portT message {
12977 } with {extension "internal"}
12983 function myFunct() runs on c {
12986 [] myPort.receive( (c1..c2) )
12993 <RESULT IF_PASS COUNT 1>
12994 (?im)error.+?value.+?range.+?match.+?cannot.+?used
12996 <RESULT IF_PASS COUNT 1>
13004 .*---------------------------------------------------------------------*
13005 :h4.Allowed matching mechanisms - inline-template superset (boolean in function)
13006 .*---------------------------------------------------------------------*
13009 <TC - Allowed matching mechanisms - inline-template superset (boolean in function)>
13012 <VERDICT_LEAF PASS>
13013 <MODULE TTCN x x.ttcn>
13016 const boolean c1:= false;
13017 const boolean c2:= true;
13019 type port portT message {
13021 } with {extension "internal"}
13027 function myFunct() runs on c {
13030 [] myPort.receive( superset(c1,c2) )
13037 <RESULT IF_PASS COUNT 1>
13038 (?im)error.+?superset.+?match.+?cannot.+?used
13040 <RESULT IF_PASS COUNT 1>
13047 .*---------------------------------------------------------------------*
13048 :h4.Allowed matching mechanisms - inline-template superset (integer in function)
13049 .*---------------------------------------------------------------------*
13052 <TC - Allowed matching mechanisms - inline-template superset (integer in function)>
13055 <VERDICT_LEAF PASS>
13056 <MODULE TTCN x x.ttcn>
13059 const integer c1:= 1;
13060 const integer c2:= 5;
13062 type port portT message {
13064 } with {extension "internal"}
13070 function myFunct() runs on c {
13073 [] myPort.receive( superset(c1,c2) )
13080 <RESULT IF_PASS COUNT 1>
13081 (?im)error.+?superset.+?match.+?cannot.+?used
13083 <RESULT IF_PASS COUNT 1>
13090 .*---------------------------------------------------------------------*
13091 :h4.Allowed matching mechanisms - inline-template superset (float in function)
13092 .*---------------------------------------------------------------------*
13095 <TC - Allowed matching mechanisms - inline-template superset (float in function)>
13098 <VERDICT_LEAF PASS>
13099 <MODULE TTCN x x.ttcn>
13102 const float c1:= 1.0;
13103 const float c2:= 5.0;
13105 type port portT message {
13107 } with {extension "internal"}
13113 function myFunct() runs on c {
13116 [] myPort.receive( superset(c1,c2) )
13123 <RESULT IF_PASS COUNT 1>
13124 (?im)error.+?superset.+?match.+?cannot.+?used
13126 <RESULT IF_PASS COUNT 1>
13133 .*---------------------------------------------------------------------*
13134 :h4.Allowed matching mechanisms - inline-template superset (bitstring in function)
13135 .*---------------------------------------------------------------------*
13138 <TC - Allowed matching mechanisms - inline-template superset (bitstring in function)>
13141 <VERDICT_LEAF PASS>
13142 <MODULE TTCN x x.ttcn>
13145 const bitstring c1:= '0000'B;
13146 const bitstring c2:= '1111'B;
13148 type port portT message {
13150 } with {extension "internal"}
13156 function myFunct() runs on c {
13159 [] myPort.receive( superset(c1,c2) )
13166 <RESULT IF_PASS COUNT 1>
13167 (?im)error.+?superset.+?match.+?cannot.+?used
13169 <RESULT IF_PASS COUNT 1>
13176 .*---------------------------------------------------------------------*
13177 :h4.Allowed matching mechanisms - inline-template superset (octetstring in function)
13178 .*---------------------------------------------------------------------*
13181 <TC - Allowed matching mechanisms - inline-template superset (octetstring in function)>
13184 <VERDICT_LEAF PASS>
13185 <MODULE TTCN x x.ttcn>
13188 const octetstring c1:= '0000'O;
13189 const octetstring c2:= '1111'O;
13191 type port portT message {
13193 } with {extension "internal"}
13199 function myFunct() runs on c {
13202 [] myPort.receive( superset(c1,c2) )
13209 <RESULT IF_PASS COUNT 1>
13210 (?im)error.+?superset.+?match.+?cannot.+?used
13212 <RESULT IF_PASS COUNT 1>
13219 .*---------------------------------------------------------------------*
13220 :h4.Allowed matching mechanisms - inline-template superset (hexstring in function)
13221 .*---------------------------------------------------------------------*
13224 <TC - Allowed matching mechanisms - inline-template superset (hexstring in function)>
13227 <VERDICT_LEAF PASS>
13228 <MODULE TTCN x x.ttcn>
13231 const hexstring c1:= '0000'H;
13232 const hexstring c2:= '1111'H;
13234 type port portT message {
13236 } with {extension "internal"}
13242 function myFunct() runs on c {
13245 [] myPort.receive( superset(c1,c2) )
13252 <RESULT IF_PASS COUNT 1>
13253 (?im)error.+?superset.+?match.+?cannot.+?used
13255 <RESULT IF_PASS COUNT 1>
13262 .*---------------------------------------------------------------------*
13263 :h4.Allowed matching mechanisms - inline-template superset (charstring in function)
13264 .*---------------------------------------------------------------------*
13267 <TC - Allowed matching mechanisms - inline-template superset (charstring in function)>
13270 <VERDICT_LEAF PASS>
13271 <MODULE TTCN x x.ttcn>
13274 const charstring c1:= "a";
13275 const charstring c2:= "z";
13277 type port portT message {
13279 } with {extension "internal"}
13285 function myFunct() runs on c {
13288 [] myPort.receive( superset(c1,c2) )
13295 <RESULT IF_PASS COUNT 1>
13296 (?im)error.+?superset.+?match.+?cannot.+?used
13298 <RESULT IF_PASS COUNT 1>
13305 .*---------------------------------------------------------------------*
13306 :h4.Allowed matching mechanisms - inline-template superset (record in function)
13307 .*---------------------------------------------------------------------*
13310 <TC - Allowed matching mechanisms - inline-template superset (record in function)>
13313 <VERDICT_LEAF PASS>
13314 <MODULE TTCN x x.ttcn>
13323 const recT c1:= { f1:= 1, f2:= 2.0, f3:= "a"};
13324 const recT c2:= { f1:= 5, f2:= 7.0, f3:= "z"};
13326 type port portT message {
13328 } with {extension "internal"}
13334 function myFunct() runs on c {
13337 [] myPort.receive( superset(c1,c2) )
13344 <RESULT IF_PASS COUNT 1>
13345 (?im)error.+?superset.+?match.+?cannot.+?used
13347 <RESULT IF_PASS COUNT 1>
13354 .*---------------------------------------------------------------------*
13355 :h4.Allowed matching mechanisms - inline-template superset (record of in function)
13356 .*---------------------------------------------------------------------*
13359 <TC - Allowed matching mechanisms - inline-template superset (record of in function)>
13362 <VERDICT_LEAF PASS>
13363 <MODULE TTCN x x.ttcn>
13366 type record of integer rofT;
13368 const rofT c1:= { 1, 2, 3 };
13369 const rofT c2:= { 4, 5, 6 };
13371 type port portT message {
13373 } with {extension "internal"}
13379 function myFunct() runs on c {
13382 [] myPort.receive( superset(c1,c2) )
13389 <RESULT IF_PASS COUNT 1>
13390 (?im)error.+?superset.+?match.+?cannot.+?used
13392 <RESULT IF_PASS COUNT 1>
13399 .*---------------------------------------------------------------------*
13400 :h4.Allowed matching mechanisms - inline-template superset (set in function)
13401 .*---------------------------------------------------------------------*
13404 <TC - Allowed matching mechanisms - inline-template superset (set in function)>
13407 <VERDICT_LEAF PASS>
13408 <MODULE TTCN x x.ttcn>
13417 const setT c1:= { f1:= 1, f2:= 2.0, f3:= "a"};
13418 const setT c2:= { f1:= 5, f2:= 7.0, f3:= "z"};
13420 type port portT message {
13422 } with {extension "internal"}
13428 function myFunct() runs on c {
13431 [] myPort.receive( superset(c1,c2) )
13438 <RESULT IF_PASS COUNT 1>
13439 (?im)error.+?superset.+?match.+?cannot.+?used
13441 <RESULT IF_PASS COUNT 1>
13448 .*---------------------------------------------------------------------*
13449 :h4.Allowed matching mechanisms - inline-template superset (enumerated in function)
13450 .*---------------------------------------------------------------------*
13453 <TC - Allowed matching mechanisms - inline-template superset (enumerated in function)>
13456 <VERDICT_LEAF PASS>
13457 <MODULE TTCN x x.ttcn>
13460 type enumerated enumT { ONE(1), TWO(2), THREE(3) };
13462 const enumT c1:= ONE;
13463 const enumT c2:= TWO;
13465 type port portT message {
13467 } with {extension "internal"}
13473 function myFunct() runs on c {
13476 [] myPort.receive( superset(c1,c2) )
13483 <RESULT IF_PASS COUNT 1>
13484 (?im)error.+?superset.+?match.+?cannot.+?used
13486 <RESULT IF_PASS COUNT 1>
13493 .*---------------------------------------------------------------------*
13494 :h4.Allowed matching mechanisms - inline-template superset (union in function)
13495 .*---------------------------------------------------------------------*
13498 <TC - Allowed matching mechanisms - inline-template superset (union in function)>
13501 <VERDICT_LEAF PASS>
13502 <MODULE TTCN x x.ttcn>
13511 const uniT c1:= { f3:= "a"};
13512 const uniT c2:= { f3:= "z"};
13514 type port portT message {
13516 } with {extension "internal"}
13522 function myFunct() runs on c {
13525 [] myPort.receive( superset(c1,c2) )
13532 <RESULT IF_PASS COUNT 1>
13533 (?im)error.+?superset.+?match.+?cannot.+?used
13535 <RESULT IF_PASS COUNT 1>
13542 .*---------------------------------------------------------------------*
13543 :h4.Allowed matching mechanisms - inline-template superset (array in function)
13544 .*---------------------------------------------------------------------*
13547 <TC - Allowed matching mechanisms - inline-template superset (array in function)>
13550 <VERDICT_LEAF PASS>
13551 <MODULE TTCN x x.ttcn>
13554 type integer arrint[1];
13556 const arrint c1:= { 1 };
13557 const arrint c2:= { 5 };
13559 type port portT message {
13561 } with {extension "internal"}
13567 function myFunct() runs on c {
13570 [] myPort.receive( superset(c1,c2) )
13577 <RESULT IF_PASS COUNT 1>
13578 (?im)error.+?superset.+?match.+?cannot.+?used
13580 <RESULT IF_PASS COUNT 1>
13587 .*---------------------------------------------------------------------*
13588 :h4.Allowed matching mechanisms - inline-template subset (boolean in function)
13589 .*---------------------------------------------------------------------*
13592 <TC - Allowed matching mechanisms - inline-template subset (boolean in function)>
13595 <VERDICT_LEAF PASS>
13596 <MODULE TTCN x x.ttcn>
13599 const boolean c1:= false;
13600 const boolean c2:= true;
13602 type port portT message {
13604 } with {extension "internal"}
13610 function myFunct() runs on c {
13613 [] myPort.receive( subset(c1,c2) )
13620 <RESULT IF_PASS COUNT 1>
13621 (?im)error.+?subset.+?match.+?cannot.+?used
13623 <RESULT IF_PASS COUNT 1>
13630 .*---------------------------------------------------------------------*
13631 :h4.Allowed matching mechanisms - inline-template subset (integer in function)
13632 .*---------------------------------------------------------------------*
13635 <TC - Allowed matching mechanisms - inline-template subset (integer in function)>
13638 <VERDICT_LEAF PASS>
13639 <MODULE TTCN x x.ttcn>
13642 const integer c1:= 1;
13643 const integer c2:= 5;
13645 type port portT message {
13647 } with {extension "internal"}
13653 function myFunct() runs on c {
13656 [] myPort.receive( subset(c1,c2) )
13663 <RESULT IF_PASS COUNT 1>
13664 (?im)error.+?subset.+?match.+?cannot.+?used
13666 <RESULT IF_PASS COUNT 1>
13673 .*---------------------------------------------------------------------*
13674 :h4.Allowed matching mechanisms - inline-template subset (float in function)
13675 .*---------------------------------------------------------------------*
13678 <TC - Allowed matching mechanisms - inline-template subset (float in function)>
13681 <VERDICT_LEAF PASS>
13682 <MODULE TTCN x x.ttcn>
13685 const float c1:= 1.0;
13686 const float c2:= 5.0;
13688 type port portT message {
13690 } with {extension "internal"}
13696 function myFunct() runs on c {
13699 [] myPort.receive( subset(c1,c2) )
13706 <RESULT IF_PASS COUNT 1>
13707 (?im)error.+?subset.+?match.+?cannot.+?used
13709 <RESULT IF_PASS COUNT 1>
13716 .*---------------------------------------------------------------------*
13717 :h4.Allowed matching mechanisms - inline-template subset (bitstring in function)
13718 .*---------------------------------------------------------------------*
13721 <TC - Allowed matching mechanisms - inline-template subset (bitstring in function)>
13724 <VERDICT_LEAF PASS>
13725 <MODULE TTCN x x.ttcn>
13728 const bitstring c1:= '0000'B;
13729 const bitstring c2:= '1111'B;
13731 type port portT message {
13733 } with {extension "internal"}
13739 function myFunct() runs on c {
13742 [] myPort.receive( subset(c1,c2) )
13749 <RESULT IF_PASS COUNT 1>
13750 (?im)error.+?subset.+?match.+?cannot.+?used
13752 <RESULT IF_PASS COUNT 1>
13759 .*---------------------------------------------------------------------*
13760 :h4.Allowed matching mechanisms - inline-template subset (octetstring in function)
13761 .*---------------------------------------------------------------------*
13764 <TC - Allowed matching mechanisms - inline-template subset (octetstring in function)>
13767 <VERDICT_LEAF PASS>
13768 <MODULE TTCN x x.ttcn>
13771 const octetstring c1:= '0000'O;
13772 const octetstring c2:= '1111'O;
13774 type port portT message {
13776 } with {extension "internal"}
13782 function myFunct() runs on c {
13785 [] myPort.receive( subset(c1,c2) )
13792 <RESULT IF_PASS COUNT 1>
13793 (?im)error.+?subset.+?match.+?cannot.+?used
13795 <RESULT IF_PASS COUNT 1>
13802 .*---------------------------------------------------------------------*
13803 :h4.Allowed matching mechanisms - inline-template subset (hexstring in function)
13804 .*---------------------------------------------------------------------*
13807 <TC - Allowed matching mechanisms - inline-template subset (hexstring in function)>
13810 <VERDICT_LEAF PASS>
13811 <MODULE TTCN x x.ttcn>
13814 const hexstring c1:= '0000'H;
13815 const hexstring c2:= '1111'H;
13817 type port portT message {
13819 } with {extension "internal"}
13825 function myFunct() runs on c {
13828 [] myPort.receive( subset(c1,c2) )
13835 <RESULT IF_PASS COUNT 1>
13836 (?im)error.+?subset.+?match.+?cannot.+?used
13838 <RESULT IF_PASS COUNT 1>
13845 .*---------------------------------------------------------------------*
13846 :h4.Allowed matching mechanisms - inline-template subset (charstring in function)
13847 .*---------------------------------------------------------------------*
13850 <TC - Allowed matching mechanisms - inline-template subset (charstring in function)>
13853 <VERDICT_LEAF PASS>
13854 <MODULE TTCN x x.ttcn>
13857 const charstring c1:= "a";
13858 const charstring c2:= "z";
13860 type port portT message {
13862 } with {extension "internal"}
13868 function myFunct() runs on c {
13871 [] myPort.receive( subset(c1,c2) )
13878 <RESULT IF_PASS COUNT 1>
13879 (?im)error.+?subset.+?match.+?cannot.+?used
13881 <RESULT IF_PASS COUNT 1>
13888 .*---------------------------------------------------------------------*
13889 :h4.Allowed matching mechanisms - inline-template subset (record in function)
13890 .*---------------------------------------------------------------------*
13893 <TC - Allowed matching mechanisms - inline-template subset (record in function)>
13896 <VERDICT_LEAF PASS>
13897 <MODULE TTCN x x.ttcn>
13906 const recT c1:= { f1:= 1, f2:= 2.0, f3:= "a"};
13907 const recT c2:= { f1:= 5, f2:= 7.0, f3:= "z"};
13909 type port portT message {
13911 } with {extension "internal"}
13917 function myFunct() runs on c {
13920 [] myPort.receive( subset(c1,c2) )
13927 <RESULT IF_PASS COUNT 1>
13928 (?im)error.+?subset.+?match.+?cannot.+?used
13930 <RESULT IF_PASS COUNT 1>
13937 .*---------------------------------------------------------------------*
13938 :h4.Allowed matching mechanisms - inline-template subset (record of in function)
13939 .*---------------------------------------------------------------------*
13942 <TC - Allowed matching mechanisms - inline-template subset (record of in function)>
13945 <VERDICT_LEAF PASS>
13946 <MODULE TTCN x x.ttcn>
13949 type record of integer rofT;
13951 const rofT c1:= { 1, 2, 3 };
13952 const rofT c2:= { 4, 5, 6 };
13954 type port portT message {
13956 } with {extension "internal"}
13962 function myFunct() runs on c {
13965 [] myPort.receive( subset(c1,c2) )
13972 <RESULT IF_PASS COUNT 1>
13973 (?im)error.+?subset.+?match.+?cannot.+?used
13975 <RESULT IF_PASS COUNT 1>
13982 .*---------------------------------------------------------------------*
13983 :h4.Allowed matching mechanisms - inline-template subset (set in function)
13984 .*---------------------------------------------------------------------*
13987 <TC - Allowed matching mechanisms - inline-template subset (set in function)>
13990 <VERDICT_LEAF PASS>
13991 <MODULE TTCN x x.ttcn>
14000 const setT c1:= { f1:= 1, f2:= 2.0, f3:= "a"};
14001 const setT c2:= { f1:= 5, f2:= 7.0, f3:= "z"};
14003 type port portT message {
14005 } with {extension "internal"}
14011 function myFunct() runs on c {
14014 [] myPort.receive( subset(c1,c2) )
14021 <RESULT IF_PASS COUNT 1>
14022 (?im)error.+?subset.+?match.+?cannot.+?used
14024 <RESULT IF_PASS COUNT 1>
14031 .*---------------------------------------------------------------------*
14032 :h4.Allowed matching mechanisms - inline-template subset (enumerated in function)
14033 .*---------------------------------------------------------------------*
14036 <TC - Allowed matching mechanisms - inline-template subset (enumerated in function)>
14039 <VERDICT_LEAF PASS>
14040 <MODULE TTCN x x.ttcn>
14043 type enumerated enumT { ONE(1), TWO(2), THREE(3) };
14045 const enumT c1:= ONE;
14046 const enumT c2:= TWO;
14048 type port portT message {
14050 } with {extension "internal"}
14056 function myFunct() runs on c {
14059 [] myPort.receive( subset(c1,c2) )
14066 <RESULT IF_PASS COUNT 1>
14067 (?im)error.+?subset.+?match.+?cannot.+?used
14069 <RESULT IF_PASS COUNT 1>
14076 .*---------------------------------------------------------------------*
14077 :h4.Allowed matching mechanisms - inline-template subset (union in function)
14078 .*---------------------------------------------------------------------*
14081 <TC - Allowed matching mechanisms - inline-template subset (union in function)>
14084 <VERDICT_LEAF PASS>
14085 <MODULE TTCN x x.ttcn>
14094 const uniT c1:= { f3:= "a"};
14095 const uniT c2:= { f3:= "z"};
14097 type port portT message {
14099 } with {extension "internal"}
14105 function myFunct() runs on c {
14108 [] myPort.receive( subset(c1,c2) )
14115 <RESULT IF_PASS COUNT 1>
14116 (?im)error.+?subset.+?match.+?cannot.+?used
14118 <RESULT IF_PASS COUNT 1>
14125 .*---------------------------------------------------------------------*
14126 :h4.Allowed matching mechanisms - inline-template subset (array in function)
14127 .*---------------------------------------------------------------------*
14130 <TC - Allowed matching mechanisms - inline-template subset (array in function)>
14133 <VERDICT_LEAF PASS>
14134 <MODULE TTCN x x.ttcn>
14137 type integer arrint[1];
14139 const arrint c1:= { 1 };
14140 const arrint c2:= { 5 };
14142 type port portT message {
14144 } with {extension "internal"}
14150 function myFunct() runs on c {
14153 [] myPort.receive( subset(c1,c2) )
14160 <RESULT IF_PASS COUNT 1>
14161 (?im)error.+?subset.+?match.+?cannot.+?used
14163 <RESULT IF_PASS COUNT 1>
14170 .*---------------------------------------------------------------------*
14171 :h4.Allowed matching mechanisms - inline-template length-restriction (boolean in function)
14172 .*---------------------------------------------------------------------*
14175 <TC - Allowed matching mechanisms - inline-template length-restriction (boolean in function)>
14178 <VERDICT_LEAF PASS>
14179 <MODULE TTCN x x.ttcn>
14182 type port portT message {
14184 } with {extension "internal"}
14190 function myFunct() runs on c {
14193 [] myPort.receive( ? length(1) )
14200 <RESULT IF_PASS COUNT 1>
14201 (?im)error.+?Length.+?restriction.+?cannot.+?used
14203 <RESULT IF_PASS COUNT 1>
14210 .*---------------------------------------------------------------------*
14211 :h4.Allowed matching mechanisms - inline-template length-restriction (integer in function)
14212 .*---------------------------------------------------------------------*
14215 <TC - Allowed matching mechanisms - inline-template length-restriction (integer in function)>
14218 <VERDICT_LEAF PASS>
14219 <MODULE TTCN x x.ttcn>
14222 type port portT message {
14224 } with {extension "internal"}
14230 function myFunct() runs on c {
14233 [] myPort.receive( ? length(1) )
14240 <RESULT IF_PASS COUNT 1>
14241 (?im)error.+?Length.+?restriction.+?cannot.+?used
14243 <RESULT IF_PASS COUNT 1>
14250 .*---------------------------------------------------------------------*
14251 :h4.Allowed matching mechanisms - inline-template length-restriction (float in function)
14252 .*---------------------------------------------------------------------*
14255 <TC - Allowed matching mechanisms - inline-template length-restriction (float in function)>
14258 <VERDICT_LEAF PASS>
14259 <MODULE TTCN x x.ttcn>
14262 type port portT message {
14264 } with {extension "internal"}
14270 function myFunct() runs on c {
14273 [] myPort.receive( ? length(1) )
14280 <RESULT IF_PASS COUNT 1>
14281 (?im)error.+?Length.+?restriction.+?cannot.+?used
14283 <RESULT IF_PASS COUNT 1>
14290 .*---------------------------------------------------------------------*
14291 :h4.Allowed matching mechanisms - inline-template length-restriction (record in function)
14292 .*---------------------------------------------------------------------*
14295 <TC - Allowed matching mechanisms - inline-template length-restriction (record in function)>
14298 <VERDICT_LEAF PASS>
14299 <MODULE TTCN x x.ttcn>
14308 type port portT message {
14310 } with {extension "internal"}
14316 function myFunct() runs on c {
14319 [] myPort.receive( ? length(1) )
14326 <RESULT IF_PASS COUNT 1>
14327 (?im)error.+?Length.+?restriction.+?cannot.+?used
14329 <RESULT IF_PASS COUNT 1>
14336 .*---------------------------------------------------------------------*
14337 :h4.Allowed matching mechanisms - inline-template length-restriction (set in function)
14338 .*---------------------------------------------------------------------*
14341 <TC - Allowed matching mechanisms - inline-template length-restriction (set in function)>
14344 <VERDICT_LEAF PASS>
14345 <MODULE TTCN x x.ttcn>
14354 type port portT message {
14356 } with {extension "internal"}
14362 function myFunct() runs on c {
14365 [] myPort.receive( ? length(1) )
14372 <RESULT IF_PASS COUNT 1>
14373 (?im)error.+?Length.+?restriction.+?cannot.+?used
14375 <RESULT IF_PASS COUNT 1>
14382 .*---------------------------------------------------------------------*
14383 :h4.Allowed matching mechanisms - inline-template length-restriction (enumerated in function)
14384 .*---------------------------------------------------------------------*
14387 <TC - Allowed matching mechanisms - inline-template length-restriction (enumerated in function)>
14390 <VERDICT_LEAF PASS>
14391 <MODULE TTCN x x.ttcn>
14394 type enumerated enumT { ONE(1), TWO(2), THREE(3) };
14396 type port portT message {
14398 } with {extension "internal"}
14404 function myFunct() runs on c {
14407 [] myPort.receive( ? length(1) )
14414 <RESULT IF_PASS COUNT 1>
14415 (?im)error.+?Length.+?restriction.+?cannot.+?used
14417 <RESULT IF_PASS COUNT 1>
14424 .*---------------------------------------------------------------------*
14425 :h4.Allowed matching mechanisms - inline-template length-restriction (union in function)
14426 .*---------------------------------------------------------------------*
14429 <TC - Allowed matching mechanisms - inline-template length-restriction (union in function)>
14432 <VERDICT_LEAF PASS>
14433 <MODULE TTCN x x.ttcn>
14442 type port portT message {
14444 } with {extension "internal"}
14450 function myFunct() runs on c {
14453 [] myPort.receive( ? length(1) )
14460 <RESULT IF_PASS COUNT 1>
14461 (?im)error.+?Length.+?restriction.+?cannot.+?used
14463 <RESULT IF_PASS COUNT 1>
14470 .*---------------------------------------------------------------------*
14471 :h4.Allowed matching mechanisms - inline-template length-restriction (array in function)
14472 .*---------------------------------------------------------------------*
14475 <TC - Allowed matching mechanisms - inline-template length-restriction (array in function)>
14478 <VERDICT_LEAF PASS>
14479 <MODULE TTCN x x.ttcn>
14482 type integer arrint[1];
14484 const arrint c1:= { 1 };
14485 const arrint c2:= { 5 };
14487 type port portT message {
14489 } with {extension "internal"}
14495 function myFunct() runs on c {
14498 [] myPort.receive( ? length(10) )
14505 <RESULT IF_PASS COUNT 1>
14506 (?im)error.+?number.+?elements.+?allowed.+?length.+?restriction.+?contradicts.+?array.+?size
14508 <RESULT IF_PASS COUNT 1>
14515 .*---------------------------------------------------------------------*
14516 :h4.Allowed matching mechanisms - inline-template ifpresent (boolean in function)
14517 .*---------------------------------------------------------------------*
14520 <TC - Allowed matching mechanisms - inline-template ifpresent (boolean in function)>
14523 <VERDICT_LEAF PASS>
14524 <MODULE TTCN x x.ttcn>
14527 type port portT message {
14529 } with {extension "internal"}
14535 function myFunct() runs on c {
14538 [] myPort.receive( ? ifpresent )
14545 <RESULT IF_PASS NEGATIVE>
14552 .*---------------------------------------------------------------------*
14553 :h4.Allowed matching mechanisms - inline-template ifpresent (integer in function)
14554 .*---------------------------------------------------------------------*
14557 <TC - Allowed matching mechanisms - inline-template ifpresent (integer in function)>
14560 <VERDICT_LEAF PASS>
14561 <MODULE TTCN x x.ttcn>
14564 type port portT message {
14566 } with {extension "internal"}
14572 function myFunct() runs on c {
14575 [] myPort.receive( ? ifpresent )
14582 <RESULT IF_PASS NEGATIVE>
14589 .*---------------------------------------------------------------------*
14590 :h4.Allowed matching mechanisms - inline-template ifpresent (float in function)
14591 .*---------------------------------------------------------------------*
14594 <TC - Allowed matching mechanisms - inline-template ifpresent (float in function)>
14597 <VERDICT_LEAF PASS>
14598 <MODULE TTCN x x.ttcn>
14601 type port portT message {
14603 } with {extension "internal"}
14609 function myFunct() runs on c {
14612 [] myPort.receive( ? ifpresent )
14619 <RESULT IF_PASS NEGATIVE>
14626 .*---------------------------------------------------------------------*
14627 :h4.Allowed matching mechanisms - inline-template ifpresent (bitstring in function)
14628 .*---------------------------------------------------------------------*
14631 <TC - Allowed matching mechanisms - inline-template ifpresent (bitstring in function)>
14634 <VERDICT_LEAF PASS>
14635 <MODULE TTCN x x.ttcn>
14638 type port portT message {
14640 } with {extension "internal"}
14646 function myFunct() runs on c {
14649 [] myPort.receive( ? ifpresent )
14656 <RESULT IF_PASS NEGATIVE>
14663 .*---------------------------------------------------------------------*
14664 :h4.Allowed matching mechanisms - inline-template ifpresent (octetstring in function)
14665 .*---------------------------------------------------------------------*
14668 <TC - Allowed matching mechanisms - inline-template ifpresent (octetstring in function)>
14671 <VERDICT_LEAF PASS>
14672 <MODULE TTCN x x.ttcn>
14675 type port portT message {
14677 } with {extension "internal"}
14683 function myFunct() runs on c {
14686 [] myPort.receive( ? ifpresent )
14693 <RESULT IF_PASS NEGATIVE>
14700 .*---------------------------------------------------------------------*
14701 :h4.Allowed matching mechanisms - inline-template ifpresent (hexstring in function)
14702 .*---------------------------------------------------------------------*
14705 <TC - Allowed matching mechanisms - inline-template ifpresent (hexstring in function)>
14708 <VERDICT_LEAF PASS>
14709 <MODULE TTCN x x.ttcn>
14712 type port portT message {
14714 } with {extension "internal"}
14720 function myFunct() runs on c {
14723 [] myPort.receive( ? ifpresent )
14730 <RESULT IF_PASS NEGATIVE>
14737 .*---------------------------------------------------------------------*
14738 :h4.Allowed matching mechanisms - inline-template ifpresent (charstring in function)
14739 .*---------------------------------------------------------------------*
14742 <TC - Allowed matching mechanisms - inline-template ifpresent (charstring in function)>
14745 <VERDICT_LEAF PASS>
14746 <MODULE TTCN x x.ttcn>
14749 type port portT message {
14751 } with {extension "internal"}
14757 function myFunct() runs on c {
14760 [] myPort.receive( ? ifpresent )
14767 <RESULT IF_PASS NEGATIVE>
14774 .*---------------------------------------------------------------------*
14775 :h4.Allowed matching mechanisms - inline-template ifpresent (record of in function)
14776 .*---------------------------------------------------------------------*
14779 <TC - Allowed matching mechanisms - inline-template ifpresent (record of in function)>
14782 <VERDICT_LEAF PASS>
14783 <MODULE TTCN x x.ttcn>
14786 type record of integer myT;
14788 type port portT message {
14790 } with {extension "internal"}
14796 function myFunct() runs on c {
14799 [] myPort.receive( ? ifpresent )
14806 <RESULT IF_PASS NEGATIVE>
14813 .*---------------------------------------------------------------------*
14814 :h4.Allowed matching mechanisms - inline-template ifpresent (set of in function)
14815 .*---------------------------------------------------------------------*
14818 <TC - Allowed matching mechanisms - inline-template ifpresent (set of in function)>
14821 <VERDICT_LEAF PASS>
14822 <MODULE TTCN x x.ttcn>
14825 type set of integer myT;
14827 type port portT message {
14829 } with {extension "internal"}
14835 function myFunct() runs on c {
14838 [] myPort.receive( ? ifpresent )
14845 <RESULT IF_PASS NEGATIVE>
14852 .*---------------------------------------------------------------------*
14853 :h4.Allowed matching mechanisms - inline-template ifpresent (enumerated in function)
14854 .*---------------------------------------------------------------------*
14857 <TC - Allowed matching mechanisms - inline-template ifpresent (enumerated in function)>
14860 <VERDICT_LEAF PASS>
14861 <MODULE TTCN x x.ttcn>
14864 type enumerated enumT { ONE(1), TWO(2), THREE(3) };
14866 type port portT message {
14868 } with {extension "internal"}
14874 function myFunct() runs on c {
14877 [] myPort.receive( ? ifpresent )
14884 <RESULT IF_PASS NEGATIVE>
14891 .*---------------------------------------------------------------------*
14892 :h4.Allowed matching mechanisms - inline-template ifpresent (union in function)
14893 .*---------------------------------------------------------------------*
14896 <TC - Allowed matching mechanisms - inline-template ifpresent (union in function)>
14899 <VERDICT_LEAF PASS>
14900 <MODULE TTCN x x.ttcn>
14909 type port portT message {
14911 } with {extension "internal"}
14917 function myFunct() runs on c {
14920 [] myPort.receive( ? ifpresent )
14927 <RESULT IF_PASS NEGATIVE>
14934 .*---------------------------------------------------------------------*
14935 :h4.Allowed matching mechanisms - inline-template ifpresent (array in function)
14936 .*---------------------------------------------------------------------*
14939 <TC - Allowed matching mechanisms - inline-template ifpresent (array in function)>
14942 <VERDICT_LEAF PASS>
14943 <MODULE TTCN x x.ttcn>
14946 type integer arrint[1];
14948 const arrint c1:= { 1 };
14949 const arrint c2:= { 5 };
14951 type port portT message {
14953 } with {extension "internal"}
14959 function myFunct() runs on c {
14962 [] myPort.receive( ? ifpresent)
14969 <RESULT IF_PASS NEGATIVE>
14976 .*---------------------------------------------------------------------*
14977 :h2.Infinite recursive loops
14978 .*---------------------------------------------------------------------*
14980 NOTE: In case of non-constant ele
14982 template mytype t := { f := t } s
14984 var mytype v := { f := v } is not
14986 .*---------------------------------------------------------------------*
14987 :h3.Infinite recursive loops in templates/values
14988 .*---------------------------------------------------------------------*
14990 This test case group covers the requirement SA-6/21.
14992 Strategy: SA shall detect the infinite recursive loops in templates/values.
14993 Two types of infinite loops are existing:
14999 All occurances shall be tested, where such a notation can be used.
15003 :li D='-'.1, 2 and 3 steps long circles in definition part
15004 :li D='-'.2, 3 and 4 steps long cross circles in definition part
15005 :li D='-'.3 steps long double cross circles in definition part
15008 .*---------------------------------------------------------------------*
15009 :h4.Infinite recursive loops in templates/values - one step long (in def.part)
15010 .*---------------------------------------------------------------------*
15013 <TC - Infinite recursive loops in templates/values - one step long (in def.part)>
15016 <VERDICT_LEAF PASS>
15017 <MODULE TTCN x x.ttcn>
15027 template recT temp1:= { f1:= temp1.f1, f2:= 1.1, f3:= "ERIXON", f4:= 1 };
15031 <RESULT IF_PASS COUNT 1>
15032 (?im)error.+?Circular.+?reference
15034 <RESULT IF_PASS COUNT 1>
15041 .*---------------------------------------------------------------------*
15042 :h4.Infinite recursive loops in templates/values - one steps long (in def.part)
15043 .*---------------------------------------------------------------------*
15046 <TC - Infinite recursive loops in templates/values - one steps long (in def.part)>
15049 <VERDICT_LEAF FAIL>
15050 <MODULE TTCN x x.ttcn>
15053 type integer myint[2];
15055 template myint t := {0,t[1]};
15060 <RESULT IF_PASS COUNT 1>
15061 (?im)error.+?Circular.+?reference
15063 <RESULT IF_PASS COUNT 1>
15066 <RESULT IF_FAIL POSITIVE>
15067 (?im)error.+?Circular.+?reference
15073 .*---------------------------------------------------------------------*
15074 :h4.Infinite recursive loops in templates/values - two steps long (in def.part)
15075 .*---------------------------------------------------------------------*
15078 <TC - Infinite recursive loops in templates/values - two steps long (in def.part)>
15081 <VERDICT_LEAF FAIL>
15082 <MODULE TTCN x x.ttcn>
15093 template recT temp1:= { f1:= temp1.f4, f2:= 1.1, f3:= "ERIXON", f4:= temp1.f1 };
15097 <RESULT IF_PASS COUNT 1>
15098 (?im)error.+?Circular.+?reference
15100 <RESULT IF_PASS COUNT 1>
15103 <RESULT IF_FAIL POSITIVE>
15104 (?im)error.+?Circular.+?reference
15110 .*---------------------------------------------------------------------*
15111 :h4.Infinite recursive loops in templates/values - three steps long (in def.part)
15112 .*---------------------------------------------------------------------*
15115 <TC - Infinite recursive loops in templates/values - three steps long (in def.part)>
15118 <VERDICT_LEAF FAIL>
15119 <MODULE TTCN x x.ttcn>
15131 template recT temp1:= { f1:= temp1.f4, f2:= 1.1, f3:= "ERIXON", f4:= temp1.f5, f5:= temp1.f1 };
15135 <RESULT IF_PASS COUNT 1>
15136 (?im)error.+?Circular.+?reference
15138 <RESULT IF_PASS COUNT 1>
15141 <RESULT IF_FAIL POSITIVE>
15142 (?im)error.+?Circular.+?reference
15148 .*---------------------------------------------------------------------*
15149 :h4.Infinite recursive loops in templates/values - cross two steps long (in def.part)
15150 .*---------------------------------------------------------------------*
15153 <TC - Infinite recursive loops in templates/values - cross two steps long (in def.part)>
15156 <VERDICT_LEAF PASS>
15157 <MODULE TTCN x x.ttcn>
15168 template recT temp1:= { f1:= temp2.f1, f2:= 1.1, f3:= "ERIXON", f4:= 1, f5:= 2 };
15169 template recT temp2:= { f1:= temp1.f1, f2:= 1.1, f3:= "ERIXON", f4:= 1, f5:= 2 };
15173 <RESULT IF_PASS COUNT 1>
15174 (?im)error.+?Circular.+?reference
15176 <RESULT IF_PASS COUNT 1>
15183 .*---------------------------------------------------------------------*
15184 :h4.Infinite recursive loops in templates/values - cross three steps long (in def.part)
15185 .*---------------------------------------------------------------------*
15188 <TC - Infinite recursive loops in templates/values - cross three steps long (in def.part)>
15191 <VERDICT_LEAF FAIL>
15192 <MODULE TTCN x x.ttcn>
15204 template recT temp1:= { f1:= temp2.f1, f2:= 1.1, f3:= "ERIXON", f4:= 1, f5:= 2 };
15205 template recT temp2:= { f1:= temp2.f4, f2:= 1.1, f3:= "ERIXON", f4:= temp1.f1, f5:= 2 };
15209 <RESULT IF_PASS COUNT 1>
15210 (?im)error.+?Circular.+?reference
15212 <RESULT IF_PASS COUNT 1>
15215 <RESULT IF_FAIL POSITIVE>
15216 (?im)error.+?Circular.+?reference
15222 .*---------------------------------------------------------------------*
15223 :h4.Infinite recursive loops in templates/values - cross four steps long (in def.part)
15224 .*---------------------------------------------------------------------*
15227 <TC - Infinite recursive loops in templates/values - cross four steps long (in def.part)>
15230 <VERDICT_LEAF FAIL>
15231 <MODULE TTCN x x.ttcn>
15243 template recT temp1:= { f1:= temp2.f1, f2:= 1.1, f3:= "ERIXON", f4:= 1, f5:= temp1.f1 };
15244 template recT temp2:= { f1:= temp2.f4, f2:= 1.1, f3:= "ERIXON", f4:= temp1.f5, f5:= 2 };
15248 <RESULT IF_PASS COUNT 1>
15249 (?im)error.+?Circular.+?reference
15251 <RESULT IF_PASS COUNT 1>
15254 <RESULT IF_FAIL POSITIVE>
15261 .*---------------------------------------------------------------------*
15262 :h4.Infinite recursive loops in templates/values - double cross four steps long (in def.part)
15263 .*---------------------------------------------------------------------*
15266 <TC - Infinite recursive loops in templates/values - double cross four steps long (in def.part)>
15269 <VERDICT_LEAF PASS>
15270 <MODULE TTCN x x.ttcn>
15281 template recT temp1:= { f1:= temp2.f1, f2:= 1.1, f3:= "ERIXON", f4:= 1, f5:= 7 };
15282 template recT temp2:= { f1:= temp3.f4, f2:= 1.1, f3:= "ERIXON", f4:= 2, f5:= 2 };
15283 template recT temp3:= { f1:= 1, f2:= 1.1, f3:= "ERIXON", f4:= temp1.f1, f5:= 2 };
15287 <RESULT IF_PASS COUNT 1>
15288 (?im)error.+?Circular.+?reference
15290 <RESULT IF_PASS COUNT 1>
15297 .*---------------------------------------------------------------------*
15298 :h3.Recursive loops in modified template chains
15299 .*---------------------------------------------------------------------*
15301 This test case group covers the requirement SA-6/22.
15303 Strategy: a modified template shall not refer to itself, either directly or indirectly, that is recursive derivation is not allowed.
15304 All occurances shall be tested, where such a notation can be used.
15306 Tested: - 1, 2 and 3 steps long modified templates in definition part
15308 .*---------------------------------------------------------------------*
15309 :h4.Recursive loops in modified template chains - one step long (in def.part)
15310 .*---------------------------------------------------------------------*
15313 <TC - Recursive loops in modified template chains - one step long (in def.part)>
15316 <VERDICT_LEAF PASS>
15317 <MODULE TTCN x x.ttcn>
15328 template recT temp1:= { f1:= 1, f2:= 1.1, f3:= "ERIXON", f4:= 1, f5:= 7 };
15330 template recT temp2 modifies temp1:= { f1:= temp2.f1, f4:= 6};
15334 <RESULT IF_PASS COUNT 1>
15335 (?im)error.+?Circular.+?reference
15337 <RESULT IF_PASS COUNT 1>
15344 .*---------------------------------------------------------------------*
15345 :h4.Recursive loops in modified template chains - two steps long (in def.part)
15346 .*---------------------------------------------------------------------*
15349 <TC - Recursive loops in modified template chains - two steps long (in def.part)>
15352 <VERDICT_LEAF FAIL>
15353 <MODULE TTCN x x.ttcn>
15364 template recT temp1:= { f1:= 1, f2:= 1.1, f3:= "ERIXON", f4:= 1, f5:= 7 };
15367 template recT temp2 modifies temp1:= { f1:= temp2.f4, f4:= temp2.f1};
15371 <RESULT IF_PASS COUNT 1>
15372 (?im)error.+?Circular.+?reference
15374 <RESULT IF_PASS COUNT 1>
15377 <RESULT IF_FAIL POSITIVE>
15378 (?im)error.+?Circular.+?reference
15384 .*---------------------------------------------------------------------*
15385 :h4.Recursive loops in modified template chains - three steps long (in def.part)
15386 .*---------------------------------------------------------------------*
15389 <TC - Recursive loops in modified template chains - three steps long (in def.part)>
15392 <VERDICT_LEAF FAIL>
15393 <MODULE TTCN x x.ttcn>
15405 template recT temp1:= { f1:= 1, f2:= 1.1, f3:= "ERIXON", f4:= 1, f5:= 7 };
15406 template recT temp2 modifies temp1:= { f1:= temp2.f4, f4:= temp2.f5, f5:= temp2.f1};
15410 <RESULT IF_PASS COUNT 1>
15411 (?im)error.+?Circular.+?reference
15413 <RESULT IF_PASS COUNT 1>
15416 <RESULT IF_FAIL POSITIVE>
15417 (?im)error.+?Circular.+?reference
15423 .*---------------------------------------------------------------------*
15424 :h3.Value Overflows shall be detected if possible in compile time
15425 .*---------------------------------------------------------------------*
15427 This test case group covers the requirement SA-6/23.
15429 Strategy: SA shall detect any value overflow caused by implementation (for example integer value overflow, assigned number of an enumerated
15430 identifier is greater than the MAX_INT)
15431 All occurances shall be tested, where such a notation can be used.
15435 :li D='-'.simple integer constant and float constant overflows in definition part, control part and function
15436 :li D='-'.simple integer variables and float variables overflows in control part and function
15437 :li D='-'.integer overflowing in definition of an enumerated type
15438 :li D='-'.float overflowing when redefines a timer at start (in control part and function)
15441 .*---------------------------------------------------------------------*
15442 :h4.Value Overflows shall be detected if possible in compile time - integer Overflow (enumerated in def.part)
15443 .*---------------------------------------------------------------------*
15446 <TC - Value Overflows shall be detected if possible in compile time - integer Overflow (enumerated in def.part)>
15449 <VERDICT_LEAF PASS>
15450 <MODULE TTCN x x.ttcn>
15453 type enumerated enumT { ONE(1), TWO(2), HUGE(99999999999999999999999999999)};
15458 (?is)\berror: The numeric value of enumeration `HUGE' \(99999999999999999999999999999\) is too large for being represented in memory
15464 .*---------------------------------------------------------------------*
15465 :h4.Value Overflows shall be detected if possible in compile time - simple float Overflow (const in def.part)
15466 .*---------------------------------------------------------------------*
15469 <TC - Value Overflows shall be detected if possible in compile time - simple float Overflow (const in def.part)>
15472 <VERDICT_LEAF PASS>
15473 <MODULE TTCN x x.ttcn>
15476 // TR 673: fatal error on value overflows
15477 const float f:= 9.1E+999;
15481 <RESULT IF_PASS COUNT 1>
15482 (?im)error.+?Overflow
15484 <RESULT IF_PASS COUNT 1>
15491 .*---------------------------------------------------------------------*
15492 :h4.Value Overflows shall be detected if possible in compile time - simple float Overflow (const in control part)
15493 TR 673: fatal error on value overflows
15494 .*---------------------------------------------------------------------*
15497 <TC - Value Overflows shall be detected if possible in compile time - simple float Overflow (const in control part)>
15500 <VERDICT_LEAF PASS>
15501 <MODULE TTCN x x.ttcn>
15505 const float f:= 9.1E+999;
15509 <RESULT IF_PASS COUNT 1>
15510 (?im)error.+?Overflow
15512 <RESULT IF_PASS COUNT 1>
15519 .*---------------------------------------------------------------------*
15520 :h4.Value Overflows shall be detected if possible in compile time - simple float Overflow (const in function)
15521 TR 673: fatal error on value overflows
15522 .*---------------------------------------------------------------------*
15525 <TC - Value Overflows shall be detected if possible in compile time - simple float Overflow (const in function)>
15528 <VERDICT_LEAF PASS>
15529 <MODULE TTCN x x.ttcn>
15532 function myFunct(){
15533 const float f:= 9.1E+999;
15537 <RESULT IF_PASS COUNT 1>
15538 (?im)error.+?Overflow
15540 <RESULT IF_PASS COUNT 1>
15547 .*---------------------------------------------------------------------*
15548 :h4.Value Overflows shall be detected if possible in compile time - simple float Overflow (variable in control part)
15549 TR 673: fatal error on value overflows
15550 .*---------------------------------------------------------------------*
15553 <TC - Value Overflows shall be detected if possible in compile time - simple float Overflow (variable in control part)>
15556 <VERDICT_LEAF PASS>
15557 <MODULE TTCN x x.ttcn>
15561 var float f:= 9.1E+999;
15565 <RESULT IF_PASS COUNT 1>
15566 (?im)error.+?Overflow
15568 <RESULT IF_PASS COUNT 1>
15575 .*---------------------------------------------------------------------*
15576 :h4.Value Overflows shall be detected if possible in compile time - simple float Overflow (variable in function)
15577 TR 673: fatal error on value overflows
15578 .*---------------------------------------------------------------------*
15581 <TC - Value Overflows shall be detected if possible in compile time - simple float Overflow (variable in function)>
15584 <VERDICT_LEAF PASS>
15585 <MODULE TTCN x x.ttcn>
15588 function myFunct(){
15589 var float f:= 9.1E+999;
15593 <RESULT IF_PASS COUNT 1>
15594 (?im)error.+?Overflow
15596 <RESULT IF_PASS COUNT 1>
15603 .*---------------------------------------------------------------------*
15604 :h4.Value Overflows shall be detected if possible in compile time - float Overflow (timer start in control part)
15605 TR 673: fatal error on value overflows
15606 .*---------------------------------------------------------------------*
15609 <TC - Value Overflows shall be detected if possible in compile time - float Overflow (timer start in control part)>
15612 <VERDICT_LEAF PASS>
15613 <MODULE TTCN x x.ttcn>
15618 T1.start( 9.1E+999);
15622 <RESULT IF_PASS COUNT 1>
15623 (?im)error.+?Overflow
15625 <RESULT IF_PASS COUNT 1>
15632 .*---------------------------------------------------------------------*
15633 :h4.Value Overflows shall be detected if possible in compile time - float Overflow (timer start in function)
15634 TR 673: fatal error on value overflows
15635 .*---------------------------------------------------------------------*
15638 <TC - Value Overflows shall be detected if possible in compile time - float Overflow (timer start in function)>
15641 <VERDICT_LEAF PASS>
15642 <MODULE TTCN x x.ttcn>
15645 function myFunct(){
15647 T1.start( 9.1E+999);
15651 <RESULT IF_PASS COUNT 1>
15652 (?im)error.+?Overflow
15654 <RESULT IF_PASS COUNT 1>
15661 .*---------------------------------------------------------------------*
15662 :h4.Constant folding - indexed arrays
15663 .*---------------------------------------------------------------------*
15666 <TC - Constant folding - indexed arrays>
15669 <VERDICT_LEAF PASS>
15670 <MODULE TTCN x x.ttcn>
15673 const integer c_array1[4] := { 1,2,3,4};
15674 const integer c_array2[4] := { 1,2,3,4};
15675 const integer c_array3[4] := { 4,3,2,1};
15676 const integer c_array4_ind[4] := { [0] := 1, [1] := 2, [2] := 3, [3] := 4};
15677 const integer c_array5_ind[4] := { [3] := 4, [1] := 2, [2] := 3, [0] := 1};
15680 var integer vl_array5[4] := { 1,2,3,4};
15681 var boolean b := false;
15683 if(c_array1 == c_array1) {b:= true;}
15686 if({1,2,3,4} == c_array1) {b:= true;}
15688 if(c_array1 == {1,2,3,4}) {b:= true;}
15691 if(c_array1 == c_array2) {b:= true;}
15694 if(c_array4_ind == c_array4_ind) {b:= true;}
15697 if(c_array1 == c_array4_ind) {b:= true;}
15699 if(c_array4_ind == c_array1) {b:= true;}
15702 if({ [0] := 1, [1] := 2, [2] := 3, [3] := 4} == c_array4_ind) {b:= true;}
15704 if(c_array4_ind == { [0] := 1, [1] := 2, [2] := 3, [3] := 4}) {b:= true;}
15707 if(c_array4_ind == c_array5_ind) {b:= true;}
15710 if(vl_array5 == c_array1) {b:= true;}
15716 <RESULT IF_PASS COUNT 10>
15717 (?im)warning: Control never reaches this code because of previous effective condition\(s\)
15723 .*---------------------------------------------------------------------*
15724 :h4.Constant folding - indexed record of
15725 .*---------------------------------------------------------------------*
15728 <TC - Constant folding - indexed record of>
15731 <VERDICT_LEAF PASS>
15732 <MODULE TTCN x x.ttcn>
15734 type record of integer recof;
15737 const recof c_r1 := { 1,2,3,4};
15738 const recof c_r2 := { 1,2,3,4};
15739 const recof c_r3 := { 4,3,2,1};
15740 const recof c_r4_ind := { [0] := 1, [1] := 2, [2] := 3, [3] := 4};
15741 const recof c_r5_ind := { [3] := 1, [1] := 2, [2] := 3, [0] := 4};
15742 const recof c_r6_ind := { [3] := 4, [1] := 2, [2] := 3, [0] := 1};
15743 const recof c_r8_ind := { [0] := 1, [1] := 2, [2] := 3, [3] := 4};
15746 var recof vl_r7_ind := { [3] := 4, [1] := 2};
15748 var recof vl_r10 := { 1,2,3,4};
15749 var recof vl_r11 := { 1,2,3,4};
15751 var boolean b := false;
15753 if(c_r1 == c_r1) {b:= true;}
15756 if(c_r1 == c_r2) {b:= true;}
15759 if(c_r4_ind == c_r4_ind) {b:= true;}
15762 if(c_r1 == c_r4_ind) {b:= true;}
15764 if(c_r4_ind == c_r1) {b:= true;}
15767 if(c_r1 == c_r6_ind) {b:= true;}
15770 if(c_r1 != vl_r7_ind) {b:= true;}
15773 if(c_r4_ind == c_r8_ind) {b:= true;}
15776 if(vl_r10 == vl_r11) {b:= true;}
15782 <RESULT IF_PASS COUNT 7>
15783 (?im)warning: Control never reaches this code because of previous effective condition\(s\)
15789 .*---------------------------------------------------------------------*
15790 :h4.Constant folding - indexed set of
15791 .*---------------------------------------------------------------------*
15794 <TC - Constant folding - indexed set of>
15796 <VERDICT_LEAF PASS>
15797 <MODULE TTCN x x.ttcn>
15799 type set of integer mysetof;
15802 const mysetof c_s1 := {1,2,3,4};
15803 const mysetof c_s2 := {4,3,2,1};
15804 const mysetof c_s3 := {1,3,2,4};
15805 const mysetof c_s4 := {1,2,3,4,5};
15806 const mysetof c_s5 := {0,1,2,3,4};
15807 const mysetof c_s6 := {0,1,2,3,4,5}
15809 const mysetof c_s1_ind := {[0] := 1,[1] := 2,[2] := 3, [3] := 4};
15810 const mysetof c_s2_ind := {[0] := 1,[3] := 4,[2] := 3, [1] := 2};
15811 const mysetof c_s3_ind := {[0] := 2,[3] := 1,[2] := 3, [1] := 4};
15813 var mysetof vl_s1 := {1,2,3,4};
15815 var boolean b := false;
15817 if(c_s1 == c_s1) {b:= true;}
15820 if(c_s1 == {1,2,3,4}) {b:= true;}
15822 if({1,2,3,4} == c_s1) {b:= true;}
15825 if(c_s1 == {[0] := 1,[1] := 2,[2] := 3, [3] := 4}) {b:= true;}
15827 if({[0] := 1,[1] := 2,[2] := 3, [3] := 4} == c_s1) {b:= true;}
15830 if(c_s1 == c_s1_ind) {b:= true;}
15832 if(c_s1_ind == c_s1) {b:= true;}
15835 if(c_s1_ind == c_s2_ind) {b:= true;}
15838 if(c_s1_ind == c_s3_ind) {b:= true;}
15841 if(c_s1 == c_s3_ind) {b:= true;}
15844 if(c_s2_ind == c_s3_ind) {b:= true;}
15847 if(c_s1 == vl_s1) {b:= true;}
15849 if(vl_s1 == c_s1) {b:= true;}
15852 if(c_s1 == c_s2) {b:= true;}
15855 if(c_s1 == c_s3) {b:= true;}
15858 if(c_s1 != c_s4) {b:= true;}
15861 if(c_s1 != c_s5) {b:= true;}
15864 if(c_s1 != c_s6) {b:= true;}
15867 if(c_s5 != c_s6) {b:= true;}
15873 <RESULT IF_PASS COUNT 17>
15874 (?im)warning: Control never reaches this code because of previous effective condition\(s\)
15880 .*---------------------------------------------------------------------*
15881 :h4.Invalid access to not-selected union field shall cause dyanimc testcase error - access to non-actual union element 1
15882 TR HN30230: Value of union is set to unbount if other union possibilities are tried to be accessed.
15883 .*---------------------------------------------------------------------*
15886 <TC - Invalid access to not-selected union field shall cause dyanimc testcase error - access to non-actual union element 1>
15888 <VERDICT_LEAF PASS>
15889 <MODULE TTCN Temp Temp.ttcn>
15891 type union UnionType1{
15895 type union UnionType2{
15900 type record Emma { charstring name}
15901 type record Eszter { charstring name}
15903 type component dummy_CT {}
15904 testcase tc_UnboundUnion () runs on dummy_CT{
15905 var UnionType1 vl_e := {girl := {emma := {name := "Emma"}}};
15906 log(log2str("numero: ",vl_e.numero));
15911 execute(tc_UnboundUnion());
15915 <MODULE CFG Temp Temp.cfg>
15916 [MODULE_PARAMETERS]
15918 LogSourceInfo := Yes
15919 Logfile := "Temp%i.log"
15921 LogFileNumber := 10
15922 DiskFullAction := error
15923 FileMask := LOG_ALL
15924 ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS
15928 <RESULT IF_PASS COUNT 1>
15929 (?im)Dynamic test case error: Using non-selected field numero in a value of union type @Temp.UnionType1.
15935 .*---------------------------------------------------------------------*
15936 :h4.Invalid access to not-selected union field shall cause dyanimc testcase error - access to non-actual union element 2
15937 TR HN30230: Value of union is set to unbount if other union possibilities are tried to be accessed.
15938 .*---------------------------------------------------------------------*
15941 <TC - Invalid access to not-selected union field shall cause dyanimc testcase error - access to non-actual union element 2>
15943 <VERDICT_LEAF PASS>
15944 <MODULE TTCN Temp Temp.ttcn>
15946 type union UnionType1{
15950 type union UnionType2{
15955 type record Emma { charstring name}
15956 type record Eszter { charstring name}
15958 type component dummy_CT {}
15959 testcase tc_UnboundUnion () runs on dummy_CT{
15960 var UnionType1 vl_e := {girl := {emma := {name := "Emma"}}};
15961 var integer temp := vl_e.numero;
15966 execute(tc_UnboundUnion());
15970 <MODULE CFG Temp Temp.cfg>
15971 [MODULE_PARAMETERS]
15973 LogSourceInfo := Yes
15974 Logfile := "Temp%i.log"
15976 LogFileNumber := 10
15977 DiskFullAction := error
15978 FileMask := LOG_ALL
15979 ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS
15983 <RESULT IF_PASS COUNT 1>
15984 (?im)Dynamic test case error: Using non-selected field numero in a value of union type @Temp.UnionType1.
15990 .*---------------------------------------------------------------------*
15991 :h4.Invalid access to not-selected union field shall cause dyanimc testcase error - access to non-actual union element 3
15992 TR HN30230: Value of union is set to unbount if other union possibilities are tried to be accessed.
15993 .*---------------------------------------------------------------------*
15996 <TC - Invalid access to not-selected union field shall cause dyanimc testcase error - access to non-actual union element 3>
15998 <VERDICT_LEAF PASS>
15999 <MODULE TTCN Temp Temp.ttcn>
16001 type union UnionType1{
16005 type union UnionType2{
16010 type record Emma { charstring name}
16011 type record Eszter { charstring name}
16013 type component dummy_CT {}
16014 testcase tc_UnboundUnion () runs on dummy_CT{
16015 var UnionType1 vl_e := {girl := {emma := {name := "Emma"}}};
16017 temp := vl_e.numero;
16022 execute(tc_UnboundUnion());
16026 <MODULE CFG Temp Temp.cfg>
16027 [MODULE_PARAMETERS]
16029 LogSourceInfo := Yes
16030 Logfile := "Temp%i.log"
16032 LogFileNumber := 10
16033 DiskFullAction := error
16034 FileMask := LOG_ALL
16035 ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS
16039 <RESULT IF_PASS COUNT 1>
16040 (?im)Dynamic test case error: Using non-selected field numero in a value of union type @Temp.UnionType1.
16046 .*---------------------------------------------------------------------*
16047 :h4.Invalid access to not-selected union field shall cause dyanimc testcase error - access to non-actual union element 4
16048 TR HN30230: Value of union is set to unbount if other union possibilities are tried to be accessed.
16049 .*---------------------------------------------------------------------*
16052 <TC - Invalid access to not-selected union field shall cause dyanimc testcase error - access to non-actual union element 4>
16054 <VERDICT_LEAF PASS>
16055 <MODULE TTCN Temp Temp.ttcn>
16057 type union UnionType1{
16061 type union UnionType2{
16066 type record Emma { charstring name}
16067 type record Eszter { charstring name}
16069 function dummy(integer par) {
16072 type component dummy_CT {}
16073 testcase tc_UnboundUnion () runs on dummy_CT{
16074 var UnionType1 vl_e := {girl := {emma := {name := "Emma"}}};
16075 dummy(vl_e.numero);
16080 execute(tc_UnboundUnion());
16084 <MODULE CFG Temp Temp.cfg>
16085 [MODULE_PARAMETERS]
16087 LogSourceInfo := Yes
16088 Logfile := "Temp%i.log"
16090 LogFileNumber := 10
16091 DiskFullAction := error
16092 FileMask := LOG_ALL
16093 ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS
16097 <RESULT IF_PASS COUNT 1>
16098 (?im)Dynamic test case error: Using non-selected field numero in a value of union type @Temp.UnionType1.
16104 .*---------------------------------------------------------------------*
16105 :h4.Invalid access to not-selected union field shall cause dyanimc testcase error - access to non-actual union element 5
16106 TR HN30230: Value of union is set to unbount if other union possibilities are tried to be accessed.
16107 .*---------------------------------------------------------------------*
16110 <TC - Invalid access to not-selected union field shall cause dyanimc testcase error - access to non-actual union element 5>
16112 <VERDICT_LEAF PASS>
16113 <MODULE TTCN Temp Temp.ttcn>
16115 type union UnionType1{
16119 type union UnionType2{
16124 type record Emma { charstring name}
16125 type record Eszter { charstring name}
16127 type component dummy_CT {}
16128 testcase tc_UnboundUnion () runs on dummy_CT{
16129 var UnionType1 vl_e := {girl := {emma := {name := "Emma"}}};
16131 v[vl_e.numero] := 1;
16136 execute(tc_UnboundUnion());
16140 <MODULE CFG Temp Temp.cfg>
16141 [MODULE_PARAMETERS]
16143 LogSourceInfo := Yes
16144 Logfile := "Temp%i.log"
16146 LogFileNumber := 10
16147 DiskFullAction := error
16148 FileMask := LOG_ALL
16149 ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS
16153 <RESULT IF_PASS COUNT 1>
16154 (?im)Dynamic test case error: Using non-selected field numero in a value of union type @Temp.UnionType1.
16160 .*---------------------------------------------------------------------*
16161 :h3.TTCN-3::Referencing a unbound field
16162 .*---------------------------------------------------------------------*
16164 <TC - TTCN-3::Referencing a unbound field>
16167 <VERDICT_LEAF PASS>
16168 <MODULE TTCN ModuleA ModuleA.ttcn>
16170 type record recordInner {integer f1, integer f2};
16171 type record recordOuter {recordInner f1, integer f2};
16173 function problem() {
16174 template recordOuter vt_temp := {f2 := 5};
16175 template integer t_temp := vt_temp.f1.f1;
16179 <RESULT IF_PASS COUNT 1>
16180 (?im)\berror\b.+?Reference.+?unbound.*?field.+?f1
16185 .*---------------------------------------------------------------------*
16186 :h3.TTCN-3::Referencing a unbound component variable (TR no. HO24162, HO23581)
16187 .*---------------------------------------------------------------------*
16189 <TC - TTCN-3::Referencing a unbound component variable (TR no. HO24162, HO23581)>
16192 <VERDICT_LEAF PASS>
16193 <MODULE TTCN ModuleA ModuleA.ttcn>
16195 type record of integer IList;
16202 function problem() runs on C {
16203 action(isbound(i), " i: ", i);
16207 <MODULE TTCN ModuleB ModuleB.ttcn>
16209 import from ModuleA all;
16211 function problem() runs on C {
16212 action(isbound(i), " i: ", i);
16213 action(isbound(ilist[i]), " ilist[i]: ", ilist[i]);
16217 <RESULT IF_PASS NEGATIVE>
16223 .*---------------------------------------------------------------------*
16224 :h3.TTCN-3::Referencing a unbound field (TR no. HN91136)
16225 .*---------------------------------------------------------------------*
16227 <TC - TTCN-3::Referencing a unbound field (TR no. HN91136)>
16230 <VERDICT_LEAF PASS>
16231 <MODULE TTCN ModuleA ModuleA.ttcn>
16238 type record of integer intrec;
16241 var bubu i := { a:= 2};
16242 action(isbound(i.b));
16243 var intrec vl_rec := {};
16244 action(isbound(vl_rec[2]));
16248 <MODULE CFG Temp Temp.cfg>
16249 [MODULE_PARAMETERS]
16251 LogSourceInfo := Yes
16252 Logfile := "Temp%i.log"
16254 LogFileNumber := 10
16255 DiskFullAction := error
16256 FileMask := LOG_ALL
16257 ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS
16261 <RESULT IF_PASS POSITIVE>
16262 (?im)Test execution summary: 0 test case was executed. Overall verdict: none
16267 .*---------------------------------------------------------------------*
16268 :h3.TTCN-3::Referencing a unbound bitstring bit
16269 .*---------------------------------------------------------------------*
16271 <TC - TTCN-3::Referencing a unbound bitstring bit>
16274 <VERDICT_LEAF PASS>
16275 <MODULE TTCN ModuleA ModuleA.ttcn>
16277 type component dummy_CT {}
16278 testcase tc_temp () runs on dummy_CT{
16279 var bitstring bstr;
16280 log(isvalue(bstr[0]));
16283 execute(tc_temp());
16287 <MODULE CFG Temp Temp.cfg>
16288 [MODULE_PARAMETERS]
16290 LogSourceInfo := Yes
16291 Logfile := "Temp%i.log"
16293 LogFileNumber := 10
16294 DiskFullAction := error
16295 FileMask := LOG_ALL
16296 ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS
16300 <RESULT IF_FAIL POSITIVE>
16301 (?im)Dynamic test case error: Accessing an element of an unbound bitstring value.
16306 .*---------------------------------------------------------------------*
16307 :h3.TTCN-3::Referencing a unbound charstring bit
16308 .*---------------------------------------------------------------------*
16310 <TC - TTCN-3::Referencing a unbound charstring bit>
16313 <VERDICT_LEAF PASS>
16314 <MODULE TTCN ModuleA ModuleA.ttcn>
16316 type component dummy_CT {}
16317 testcase tc_temp () runs on dummy_CT{
16318 var charstring cstr;
16319 log(isvalue(cstr[0]));
16322 execute(tc_temp());
16326 <MODULE CFG Temp Temp.cfg>
16327 [MODULE_PARAMETERS]
16329 LogSourceInfo := Yes
16330 Logfile := "Temp%i.log"
16332 LogFileNumber := 10
16333 DiskFullAction := error
16334 FileMask := LOG_ALL
16335 ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS
16339 <RESULT IF_FAIL POSITIVE>
16340 (?im)Dynamic test case error: Accessing an element of an unbound charstring value.
16345 .*---------------------------------------------------------------------*
16346 :h3.TTCN-3::Referencing a unbound hexstring octet
16347 .*---------------------------------------------------------------------*
16349 <TC - TTCN-3::Referencing a unbound hexstring octet>
16352 <VERDICT_LEAF PASS>
16353 <MODULE TTCN ModuleA ModuleA.ttcn>
16355 type component dummy_CT {}
16356 testcase tc_temp () runs on dummy_CT{
16357 var hexstring hstr;
16358 log(isvalue(hstr[0]));
16361 execute(tc_temp());
16365 <MODULE CFG Temp Temp.cfg>
16366 [MODULE_PARAMETERS]
16368 LogSourceInfo := Yes
16369 Logfile := "Temp%i.log"
16371 LogFileNumber := 10
16372 DiskFullAction := error
16373 FileMask := LOG_ALL
16374 ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS
16378 <RESULT IF_FAIL POSITIVE>
16379 (?im)Dynamic test case error: Accessing an element of an unbound hexstring value.
16384 .*---------------------------------------------------------------------*
16385 :h3.TTCN-3::Referencing a unbound octetstring octet
16386 .*---------------------------------------------------------------------*
16388 <TC - TTCN-3::Referencing a unbound octetstring octet>
16391 <VERDICT_LEAF PASS>
16392 <MODULE TTCN ModuleA ModuleA.ttcn>
16394 type component dummy_CT {}
16395 testcase tc_temp () runs on dummy_CT{
16396 var octetstring ostr;
16397 log(isvalue(ostr[0]));
16400 execute(tc_temp());
16404 <MODULE CFG Temp Temp.cfg>
16405 [MODULE_PARAMETERS]
16407 LogSourceInfo := Yes
16408 Logfile := "Temp%i.log"
16410 LogFileNumber := 10
16411 DiskFullAction := error
16412 FileMask := LOG_ALL
16413 ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS
16417 <RESULT IF_FAIL POSITIVE>
16418 (?im)Dynamic test case error: Accessing an element of an unbound octetstring value.
16423 .*---------------------------------------------------------------------*
16424 :h3.TTCN-3::Referencing a unbound universal charstring bit
16425 .*---------------------------------------------------------------------*
16427 <TC - TTCN-3::Referencing a unbound universal charstring bit>
16430 <VERDICT_LEAF PASS>
16431 <MODULE TTCN ModuleA ModuleA.ttcn>
16433 type component dummy_CT {}
16434 testcase tc_temp () runs on dummy_CT{
16435 var universal charstring cstr;
16436 log(isvalue(cstr[0]));
16439 execute(tc_temp());
16443 <MODULE CFG Temp Temp.cfg>
16444 [MODULE_PARAMETERS]
16446 LogSourceInfo := Yes
16447 Logfile := "Temp%i.log"
16449 LogFileNumber := 10
16450 DiskFullAction := error
16451 FileMask := LOG_ALL
16452 ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS
16456 <RESULT IF_PASS COUNT 1>
16457 (?im)Dynamic test case error: Accessing an element of an unbound universal charstring value.
16462 .*---------------------------------------------------------------------*
16463 :h3.TTCN-3::Referencing a unbound union field
16464 .*---------------------------------------------------------------------*
16466 <TC - TTCN-3::Referencing a unbound union field>
16469 <VERDICT_LEAF PASS>
16470 <MODULE TTCN ModuleA ModuleA.ttcn>
16472 type union tunion {
16476 type component dummy_CT {}
16477 testcase tc_temp () runs on dummy_CT{
16478 var tunion temp := {x1 := 1};
16479 log(isvalue(temp.x2));
16482 execute(tc_temp());
16486 <MODULE CFG Temp Temp.cfg>
16487 [MODULE_PARAMETERS]
16489 LogSourceInfo := Yes
16490 Logfile := "Temp%i.log"
16492 LogFileNumber := 10
16493 DiskFullAction := error
16494 FileMask := LOG_ALL
16495 ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS
16499 <RESULT IF_PASS COUNT 1>
16500 (?im)Dynamic test case error: Using non-selected field x2 in a value of union type @ModuleA.tunion.
16505 .*---------------------------------------------------------------------*
16506 :h3.TTCN-3::Referencing a unbound record of element
16507 .*---------------------------------------------------------------------*
16509 <TC - TTCN-3::Referencing a unbound record of element>
16512 <VERDICT_LEAF PASS>
16513 <MODULE TTCN ModuleA ModuleA.ttcn>
16515 type record of integer t_recof;
16516 type component dummy_CT {}
16517 testcase tc_temp () runs on dummy_CT{
16519 log(isvalue(temp[0]));
16522 execute(tc_temp());
16526 <MODULE CFG Temp Temp.cfg>
16527 [MODULE_PARAMETERS]
16529 LogSourceInfo := Yes
16530 Logfile := "Temp%i.log"
16532 LogFileNumber := 10
16533 DiskFullAction := error
16534 FileMask := LOG_ALL
16535 ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS
16539 <RESULT IF_PASS COUNT 1>
16540 (?im)Dynamic test case error: Accessing an element in an unbound value of type @PreGenRecordOf.PREGEN_RECORD_OF_INTEGER.
16545 .*---------------------------------------------------------------------*
16546 :h3.TTCN-3::Referencing a unbound record of element (overflow)
16547 .*---------------------------------------------------------------------*
16549 <TC - TTCN-3::Referencing a unbound record of element (overflow)>
16552 <VERDICT_LEAF PASS>
16553 <MODULE TTCN ModuleA ModuleA.ttcn>
16555 type record of integer t_recof;
16556 type component dummy_CT {}
16557 testcase tc_temp () runs on dummy_CT{
16558 var t_recof temp := {[1] := 1};
16559 log(isvalue(temp[10]));
16562 execute(tc_temp());
16566 <MODULE CFG Temp Temp.cfg>
16567 [MODULE_PARAMETERS]
16569 LogSourceInfo := Yes
16570 Logfile := "Temp%i.log"
16572 LogFileNumber := 10
16573 DiskFullAction := error
16574 FileMask := LOG_ALL
16575 ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS
16579 <RESULT IF_PASS COUNT 1>
16580 (?im)Dynamic test case error: Index overflow in a value of type @PreGenRecordOf.PREGEN_RECORD_OF_INTEGER: The index is 10, but the value has only 2 elements.
16585 .*---------------------------------------------------------------------*
16586 :h3.TTCN-3::Referencing a unbound set of element
16587 .*---------------------------------------------------------------------*
16589 <TC - TTCN-3::Referencing a unbound set of element>
16592 <VERDICT_LEAF PASS>
16593 <MODULE TTCN ModuleA ModuleA.ttcn>
16595 type set of integer t_setof;
16596 type component dummy_CT {}
16597 testcase tc_temp () runs on dummy_CT{
16599 log(isvalue(temp[0]));
16602 execute(tc_temp());
16606 <MODULE CFG Temp Temp.cfg>
16607 [MODULE_PARAMETERS]
16609 LogSourceInfo := Yes
16610 Logfile := "Temp%i.log"
16612 LogFileNumber := 10
16613 DiskFullAction := error
16614 FileMask := LOG_ALL
16615 ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS
16619 <RESULT IF_PASS COUNT 1>
16620 (?im)Dynamic test case error: Accessing an element in an unbound value of type @PreGenRecordOf.PREGEN_SET_OF_INTEGER.
16625 .*---------------------------------------------------------------------*
16626 :h3.TTCN-3::Referencing a unbound set of element (overflow)
16627 .*---------------------------------------------------------------------*
16629 <TC - TTCN-3::Referencing a unbound set of element (overflow)>
16632 <VERDICT_LEAF PASS>
16633 <MODULE TTCN ModuleA ModuleA.ttcn>
16635 type set of integer t_setof;
16636 type component dummy_CT {}
16637 testcase tc_temp () runs on dummy_CT{
16638 var t_setof temp := {[1] := 1};
16639 log(isvalue(temp[10]));
16642 execute(tc_temp());
16646 <MODULE CFG Temp Temp.cfg>
16647 [MODULE_PARAMETERS]
16649 LogSourceInfo := Yes
16650 Logfile := "Temp%i.log"
16652 LogFileNumber := 10
16653 DiskFullAction := error
16654 FileMask := LOG_ALL
16655 ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS
16659 <RESULT IF_PASS COUNT 1>
16660 (?im)Dynamic test case error: Index overflow in a value of type @PreGenRecordOf.PREGEN_SET_OF_INTEGER: The index is 10, but the value has only 2 elements.
16665 .*---------------------------------------------------------------------*
16666 :h3.Adhoc:: ispresent() isbound() DTEs
16667 .*---------------------------------------------------------------------*
16669 <TC - ispresent() isbound() DTEs>
16671 <VERDICT_LEAF PASS>
16672 <MODULE TTCN Temp Temp.ttcn>
16674 type component MyComp {}
16676 type record of charstring ROC;
16677 type record of integer ROI;
16678 type record MyRecord1 {
16679 integer i optional,
16684 type union MyUnion1 {
16691 const MyUnion1 c_myunion2:= { i:= 5 }
16693 testcase tc_runtimeDivisionByZero_ispresent() runs on MyComp {
16694 var MyUnion1 vl_u:= c_myunion2;
16695 if(ispresent(vl_u)) {setverdict(pass)} else {setverdict(fail)}
16696 if(ispresent(vl_u.i)){setverdict(pass)}else {setverdict(fail)}
16697 if(ispresent(vl_u.i/2)){setverdict(pass)}else {setverdict(fail)}
16698 if(ispresent(vl_u.i*0)){setverdict(pass)}else {setverdict(fail)}
16699 if(ispresent(vl_u.i/(vl_u.i-5))){setverdict(fail)}else {setverdict(pass)} //DTE - OK
16702 testcase tc_runtimeDivisionByZero() runs on MyComp {
16703 var MyUnion1 vl_u:= c_myunion2;
16704 if(isbound(vl_u)) {setverdict(pass)} else {setverdict(fail)}
16705 if(isbound(vl_u.i)){setverdict(pass)}else {setverdict(fail)}
16706 if(isbound(vl_u.i/2)){setverdict(pass)}else {setverdict(fail)}
16707 if(isbound(vl_u.i*0)){setverdict(pass)}else {setverdict(fail)}
16708 if(isbound(vl_u.i/(vl_u.i-5))){setverdict(fail)}else {setverdict(pass)} //DTE - OK
16713 execute(tc_runtimeDivisionByZero());
16714 execute(tc_runtimeDivisionByZero_ispresent());
16718 <MODULE CFG Temp Temp.cfg>
16720 LogSourceInfo := Yes
16721 Logfile := "Temp%i.log"
16722 FileMask := LOG_ALL
16723 ConsoleMask := LOG_ALL
16727 <RESULT IF_PASS COUNT 2>
16728 (?im)Dynamic test case error: Integer division by zero.
16733 .*---------------------------------------------------------------------*
16735 .*---------------------------------------------------------------------*
16737 :li D='ASN.1'.Abstract Syntax Notation 1
16738 :li D='EDML'.Ericsson Document Markup Language
16739 :li D='SA'.Semantic Analyser
16740 :li D='TTCN-3'.Test and Test Control Notation version 3
16743 .*---------------------------------------------------------------------*
16745 .*---------------------------------------------------------------------*
16747 :li D='[1]'.3/ETH/RUS-2003:0087 Uen
16748 :nl.Requirement Specification for TITAN's TTCN-3 Semantic Analyser
16749 :li D='[2]'.1/174 02-FCPCA 101 22 Uen
16750 :nl.Statement of Compliance for TITAN project
16751 :li D='[3]'.ETSI ES 201 873-1, v3.0.0 Mockup v1 (2004-03):
16752 :nl.Testing and Test Control Notation version 3.,
16753 :nl.Part 1: TTCN-3 Core Language
16756 .*---------------------------------------------------------------------*
16758 .*---------------------------------------------------------------------*
16760 :li D='TITAN'.Ericsson's TTCN-3 Test Environment