/*****************************************************************
 ** @author   STF 409
 ** @version  0.0.1
 ** @purpose  1:15.6.3, Ensure that assignment to a anyvalue in the context of record of is handled correctly in two subsequent assignments.
 ** @verdict  pass accept, ttcn3verdict:pass
 *****************************************************************/

module Sem_150603_ReferencingRecordOfAndSetElements_003 {

    type component GeneralComp { }

    type record of integer RoI;

    testcase TC_Sem_150603_ReferencingRecordOfAndSetElements_003() runs on GeneralComp {
        var template RoI m_one;

        m_one := ?;
        m_one[2] := 2;
        // assignment should yield {?,?,2,*}
        m_one[4] := 3;
        // assignment should yield {?,?,2,?,3,*}

        if (match(5,m_one[0]) and
            match(5,m_one[1]) and
            match(2,m_one[2]) and
            match(5,m_one[3]) and
            match(3,m_one[4])
        ) {
            setverdict(pass);
        } else {
            setverdict(fail);
        }
    }

    control{
        execute(TC_Sem_150603_ReferencingRecordOfAndSetElements_003());
    }



}