/***************************************************
 ** @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
 }

testcase TC_Sem_060201_RecordTypeValues_003() runs on GeneralComp {

 var R v_assigned := { 1, 2, 3 } with { optional "implicit omit" }

      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());
}

}
