/***************************************************
 ** @author   STF 409
 ** @version  0.0.1
 ** @purpose  1:6.3.2, Ensure that the IUT correctly handles assignments from structures having compatible types and type ranges
 ** @verdict  pass accept, ttcn3verdict:pass
 ***************************************************/

module Sem_060302_structured_types_003 {


	type record RecordType {
 	 integer  a(0..10) optional,
 	 integer  b(0..10) optional,
 	 boolean  c
	}

	type set SetType {
 	 integer  a(0..10) optional,
 	 integer  b(0..10) optional,
 	 boolean  c
	}



type component GeneralComp {
}

testcase TC_Sem_060302_structured_types_003() runs on GeneralComp {

    var RecordType v_rec1:={a:=4,b:=8,c:=false};
    var SetType v_set1;

    v_set1.a:=v_rec1.a;
    v_set1.b:=v_rec1.b;
    v_set1.c:=v_rec1.c;

    if (
     v_set1.a==4 and  v_set1.b==8 and v_set1.c==false
    ) {
        setverdict(pass);
    }
    else {
        setverdict(fail);
    }
}

control{
    execute(TC_Sem_060302_structured_types_003());
}

}
