/***************************************************
 ** @author   STF 487
 ** @version  0.0.1
 ** @purpose  1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C.3.5)
 ** @verdict  pass accept, ttcn3verdict:pass
 ***************************************************/

/* The following requirements are tested:
 * this test investigates that IUT correctly evaluates predefined function istemplateking().*/

module Sem_160102_predefined_functions_059 {


    type component GeneralComp {
    }
     /*Type definitions:*/
    type record of integer MyRecofInt;

    testcase TC_Sem_160102_predefined_functions_059() runs on GeneralComp {

    var template MyRecofInt v_10 := {permutation(1, 2, 3),?,*} ; // permutation, Any element(?) and AnyElementsOrNone(*)


            if ( match(istemplatekind(v_10, "AnyElementsOrNone"), true)) {setverdict(pass," AnyElementsOrNone: ", istemplatekind(v_10, "AnyElementsOrNone"));}
           else{setverdict(fail," AnyElementsOrNone:",istemplatekind(v_10, "AnyElementsOrNone"), " expected result: true");}
    }
    control{

        execute(TC_Sem_160102_predefined_functions_059());

    }

}