conformance_test/positive_tests added
[deliverable/titan.core.git] / conformance_test / positive_tests / 21_configuration_operations / 2103_test_component_operations / 210308_killed_operation / Sem_210308_killed_operation_006.ttcn
1 /******************************************************************************
2 * Copyright (c) 2000-2016 Ericsson Telecom AB
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/epl-v10.html
7 *
8 * Contributors:
9 * Adrien Kirjak – initial implementation
10 *
11 ** @version 0.0.1
12 ** @purpose 1:21.3.8, Verify that any from killed doesn't assign index when no component has been killed
13 ** @verdict pass accept, ttcn3verdict:pass
14 *****************************************************************/
15 // The following requirements are tested:
16 // The index of the matched component can optionally be assigned to an integer variable
17 // for single-dimensional component arrays...
18 module Sem_210308_killed_operation_006 {
19
20 type component GeneralComp {}
21
22 function f() runs on GeneralComp {
23 timer t := 100.0;
24 t.start;
25 t.timeout;
26 }
27
28 testcase TC_Sem_210308_killed_operation_006() runs on GeneralComp system GeneralComp {
29 const integer c_size := 4;
30 var GeneralComp v_ptc[c_size];
31 var integer v_index;
32
33 for (var integer i := 0; i < c_size; i := i + 1) {
34 v_ptc[i] := GeneralComp.create alive;
35 v_ptc[i].start(f());
36 }
37
38 alt
39 {
40 [] any from v_ptc.killed -> @index v_index { setverdict(fail, "The any from killed operation didn't found killed component"); }
41 [else] { setverdict(pass); }
42 }
43
44 if(not isbound(v_index)){
45 setverdict(pass);
46 } else {
47 setverdict(fail, "Index incorrectly assigned");
48 }
49 }
50
51 control {
52 execute(TC_Sem_210308_killed_operation_006(), 5000.0);
53 }
54 }
This page took 0.032574 seconds and 5 git commands to generate.