/***************************************************
 ** @author   STF 487
 ** @version  0.0.1
 ** @purpose  1:5.4.1, verify that out parameters can be set within parametrized content
 ** @verdict  pass accept, ttcn3verdict:pass
 ***************************************************/

// The following requirement is tested:
// For all these three sorts of parameter passing, the formal parameters can both be read and set
// (i.e. get new values being assigned) within the parametrized object.

module Sem_050401_top_level_005 {

	type component GeneralComp {
	}

	function f(out integer p_int) {
        p_int := 3; // setting p_int within parametrized content
        if (p_int == 3) { setverdict(pass); }
        else { setverdict(fail); }
	}

	testcase TC_Sem_050401_top_level_005() runs on GeneralComp {
		var integer v_int := 0;
        f(v_int);
	}

	control{
		execute(TC_Sem_050401_top_level_005());
	}
}
