/***************************************************
 ** @author   STF 409 (updated by STF 521)
 ** @version  0.0.2
 ** @purpose  1:6.3.2, Ensure that the IUT correctly handles assignments from structures having compatible types and lengths
 ** @verdict  pass accept, ttcn3verdict:pass
 ***************************************************/

module Sem_060302_structured_types_002 {

    type record RecordType {
        integer  a,
        integer  b optional
    }

    type set SetType {
        integer  a,
        integer  b optional
    }

    type record length (1..2) of integer ShortIntegerList;
    type record of integer IntegerList;

    type set length (1..2) of integer ShortUnorderedIntegerList;
    type set of integer UnorderedIntegerList;


    type component GeneralComp {
    }

    testcase TC_Sem_060302_structured_types_002() runs on GeneralComp {

        var IntegerList v_list1:={1,-};
        var ShortIntegerList v_list2;
        var UnorderedIntegerList v_ulist1:={1,-};
        var ShortUnorderedIntegerList v_ulist2;

        var integer v_matcher[2] := {1,-};

        var boolean v_check;

        v_list2:=v_list1;
        v_ulist2:=v_ulist1;

        v_check := (v_list2[0]==1);


        if ( v_check )
        {
            setverdict(pass);
        }
        else {
            setverdict(fail);
        }
    }

    control{
        execute(TC_Sem_060302_structured_types_002());
    }

}
