conformance_test/positive_tests added
[deliverable/titan.core.git] / conformance_test / positive_tests / 16_functions_altsteps_testcases / 1601_functions / 160102_predefined_functions / Sem_160102_predefined_functions_091.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:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)
13 ** @verdict pass accept, ttcn3verdict:pass
14 ***************************************************/
15
16 /* The following requirements are tested:
17 * check that rnd() uses seeds per component
18 *
19 */
20
21 module Sem_160102_predefined_functions_091 {
22
23 type component GeneralComp {}
24
25
26 //function to generate random number with seed given as input
27 function frnd(float seed) runs on GeneralComp {
28 var float v_random1 := rnd(seed);
29 var float v_random2 := rnd();
30
31 setverdict(pass);
32 if (not match(rnd(seed), v_random1)) {
33 setverdict(fail, "rnd from same seed has to be identical to ", v_random1);
34 }
35 if (match(rnd(seed+1.0), v_random1)) {
36 setverdict(fail, "rnd from different seed should not be identical with ", v_random1);
37 }
38 }
39
40 testcase TC_Sem_160102_predefined_functions_091 (float General_Comp_seed) runs on GeneralComp system GeneralComp {
41
42 var float v_random1,v_random2;
43
44 //Generate components with different seeds
45 var GeneralComp v_ptc1,v_ptc2;
46
47 v_ptc1:= GeneralComp.create alive;
48 v_ptc2:= GeneralComp.create alive;
49
50 //different seeds given to components:
51 v_ptc1.start(frnd(General_Comp_seed));
52 v_ptc2.start(frnd(General_Comp_seed+0.5));
53 all component.done;
54 }
55
56 control{
57 const float General_Comp_seed := 0.0;
58 execute(TC_Sem_160102_predefined_functions_091(General_Comp_seed));
59 }
60
61 }
This page took 0.061675 seconds and 5 git commands to generate.