Loading 15_templates/1506_referencing_elements_of_templates_or_template_fields/150602_referencing_record_and_set_fields/NegSem_150602_ReferencingRecordAndSetFields_003.ttcn 0 → 100644 +59 −0 Original line number Diff line number Diff line /***************************************************************** ** @author STF 409 ** @version $Rev: 150 $ ** @purpose 1:15.6.2, Ensure that value lists on the right-hand side of an assignment are not acceped. ** @verdict pass reject *****************************************************************/ module NegSem_150602_ReferencingRecordAndSetFields_003 { type component GeneralComp { } type record MyRecordTwo { integer g1, MyRecordTwo g2 optional } type record MyRecordOne { integer f1 optional, MyRecordTwo f2 optional } testcase TC_NegSem_150602_ReferencingRecordAndSetFields_003() runs on GeneralComp { var template MyRecordOne m_R1 := ( { f1 := omit, f2 := { g1 := 0, g2 := omit } }, { f1 := 5, f2 := { g1 := 1, g2 := { g1 := 2, g2 := omit } } } ); // shall cause an error as value list is assigned to m_R1 var template MyRecordTwo m_R2 := m_R1.f2; m_R2 := m_R1.f2.g2; m_R2 := m_R1.f2.g2.g2; // if we get here, something must be wrong setverdict(fail); } control{ execute(TC_NegSem_150602_ReferencingRecordAndSetFields_003()); } } No newline at end of file Loading
15_templates/1506_referencing_elements_of_templates_or_template_fields/150602_referencing_record_and_set_fields/NegSem_150602_ReferencingRecordAndSetFields_003.ttcn 0 → 100644 +59 −0 Original line number Diff line number Diff line /***************************************************************** ** @author STF 409 ** @version $Rev: 150 $ ** @purpose 1:15.6.2, Ensure that value lists on the right-hand side of an assignment are not acceped. ** @verdict pass reject *****************************************************************/ module NegSem_150602_ReferencingRecordAndSetFields_003 { type component GeneralComp { } type record MyRecordTwo { integer g1, MyRecordTwo g2 optional } type record MyRecordOne { integer f1 optional, MyRecordTwo f2 optional } testcase TC_NegSem_150602_ReferencingRecordAndSetFields_003() runs on GeneralComp { var template MyRecordOne m_R1 := ( { f1 := omit, f2 := { g1 := 0, g2 := omit } }, { f1 := 5, f2 := { g1 := 1, g2 := { g1 := 2, g2 := omit } } } ); // shall cause an error as value list is assigned to m_R1 var template MyRecordTwo m_R2 := m_R1.f2; m_R2 := m_R1.f2.g2; m_R2 := m_R1.f2.g2.g2; // if we get here, something must be wrong setverdict(fail); } control{ execute(TC_NegSem_150602_ReferencingRecordAndSetFields_003()); } } No newline at end of file