/***************************************************
 ** @author   STF 451, re-numbering done by STF 470 and 487
 ** @version  0.0.1
 ** @desc     Test cases for clause 6.2                     
 ** @purpose  1:6.2, Ensure that assignments with "implicit omit" attribute are correctly handled
 ** @verdict  pass accept, ttcn3verdict:pass
 ***************************************************/
module Sem_060201_RecordTypeValues_003 {

	type component GeneralComp {	    	    
	}

	 type record R {
	  	integer f1,
	  	integer f2 optional,
	  	integer f3,
	  	integer f4 optional,
	  	integer f5 optional
	 }  

	const R v_assigned := { 1, 2, 3 } with { optional "implicit omit" }
	 
	testcase TC_Sem_060201_RecordTypeValues_003() runs on GeneralComp {

	 
		  if ( match(v_assigned.f1,1) 
		       and match(v_assigned.f3,3) 
		       and not ispresent(v_assigned.f4) 
		       and not ispresent(v_assigned.f5) ) {
			setverdict(pass);
		  }
		  else {
			setverdict(fail);
		  }

	}

	control {
		execute(TC_Sem_060201_RecordTypeValues_003());
	}

}
