/***************************************************
 ** @author   STF 409
 ** @version  0.0.1
 ** @purpose  1:16.1.3, Ensure that the IUT recognizes external functions
 ** @verdict  pass accept, ttcn3verdict:pass
 ** @configuration  external_functions
 ***************************************************/
module Sem_160103_external_functions_002 {

    type record MyRecord {
        integer field1,
        integer field2,
        integer field3
    }

    type port TestPort message {
        inout MyRecord
    }

    type component GeneralComp {
    }
	/**
	 * @return p_in + 1
	 */
    external function xf_Sem_160103_external_functions_002(inout integer p_in) return integer;

    testcase TC_Sem_160103_external_functions_002 () runs on GeneralComp {
        var integer v_input := 5;
        var integer v_result;

        v_result := xf_Sem_160103_external_functions_002(v_input);
        if(v_result==6) { setverdict(pass) }
        else { setverdict(fail) }
    }

    control{

        execute(TC_Sem_160103_external_functions_002());

    }

}
