/***************************************************
 ** @author   STF 451
 ** @version  0.0.1
 ** @purpose  1:6.3.2, Ensure that the IUT rejects assignments having mismatch between undefined and omitted elements
 ** @verdict  pass reject
 ***************************************************/

module NegSem_060302_structured_types_013 {

    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_NegSem_060302_structured_types_013() runs on GeneralComp {


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

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

        var boolean v_check1;

        v_list2:=v_list1;
        v_rec1:=v_list2;
        v_ulist2:=v_ulist1;
        v_set1:=v_ulist2;

         v_check1 := match(v_set1,{1,-});   //mismatch between undefined and omitted elements

    }

    control{
        execute(TC_NegSem_060302_structured_types_013());
    }

}
