/******************************************************************************
 * Copyright (c) ETSI 2017.
 *
 * This file is subject to copyrights owned by ETSI. Non-exclusive permission
 * is hereby granted, free of charge, to copy, reproduce and amend this file
 * under the following conditions: It is provided "as is", without warranty of any
 * kind, expressed or implied.
 * 
 * ETSI shall never be liable for any claim, damages, or other liability arising
 * from its use or inability of use.This permission does not apply to any documentation
 * associated with this file for which ETSI keeps all rights reserved. The present
 * copyright notice shall be included in all copies of whole or part of this
 * file and shall not imply any sub-license right.
 *
 * Modified by: Adrien Kirjak
 *
 ** @version  0.0.1
 ** @purpose  1:16.1.2, Ensure that predefined decvalue_unichar function works properly
 ** @verdict  pass accept, ttcn3verdict:pass

 ***************************************************/
//NOT working with TestCast 6.8.2.5 -test fails 


/* The following requirements are tested:  

 * this test focuses on the predefined functions decvalue_unichar (utf-8) with charstring input*/



module Sem_160102_predefined_functions_071 {
    
    type component GeneralComp {

    }

	type charstring CS with { variant "" };

    testcase TC_Sem_160102_predefined_functions_071 () runs on GeneralComp {

		var CS input := "aBcDeF";

		//encoded text:
	   	var universal charstring v_enc := encvalue_unichar(input,"UTF-8");


		//decode:
		var CS v_test_dec;
		var integer v_res:= decvalue_unichar(v_enc,v_test_dec,"UTF-8"); //decode (UTF-8)
		
		if (v_res == 0) {
		      setverdict(pass, "Decoded ", v_enc , " into ", v_test_dec, " with result ", v_res);
		} else {
		      setverdict(fail, "Unexpected decoding result: Decoded ", v_enc , " with result ", v_res);
		}

   }

    control{

        execute(TC_Sem_160102_predefined_functions_071());

    }

} with { encode "RAW"}
