Commit 347f2aad authored by zeiss's avatar zeiss
Browse files

No commit message

No commit message
parent ae4ca57c
Loading
Loading
Loading
Loading
+59 −0
Original line number Diff line number Diff line
/*****************************************************************
 ** @author   STF 409
 ** @version  $Rev: 150 $
 ** @purpose  1:15.6.2, Ensure that complement lists on the right-hand side of an assignment are not acceped. 
 ** @verdict  pass reject
 *****************************************************************/

module NegSem_150602_ReferencingRecordAndSetFields_004 {

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_004() runs on GeneralComp {
	var template MyRecordOne m_R1 := complement(
	{
		f1 := omit,
		f2 := 
		{
			g1 := 0,
			g2 := omit
		}
	},
	{
		f1 := 5,
		f2 := 
		{
			g1 := 1,
			g2 := 
			{
				g1 := 2,
				g2 := omit
			}
		}
	}
	);
	
	// shall cause an error as a complement 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_004());
}


}
 No newline at end of file