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

/* The following requirements are tested:
 * This function converts an octetstring to an UTF-32 Little Endian byte order universal charstring.*/


module Sem_160102_predefined_functions_039 {


    type component GeneralComp {
    }


    testcase TC_Sem_160102_predefined_functions_039 () runs on GeneralComp {

    //octetstring:
        var octetstring v_0 := '410000004200000043000000'O;

    // predefined function for universal charstring to octetstring conversion:
        var universal charstring v_decode := oct2unichar(v_0, "UTF-32LE");        //expected value: ABC
        var universal charstring v_1 := "ABC";

        if( match(v_decode,v_1)
        ) {
            setverdict(pass,"Decoded value for: ", v_0, " is ", v_decode);
        }
        else {
            setverdict(fail,"encoded value is: ", v_decode, " expected ", v_1);
        }
    }

    control{
        execute(TC_Sem_160102_predefined_functions_039());
    }
}