TestStep:
'TestStep' '{'
number = INT '|'
act = (Function)
'}'
;
Function:
name = 'WaitForSignal'
//msg = Message
sig = MsgSignal
waittime = INT 'ms'
;
MsgSignal:
name = 'Msg1'
signal = (sig1| sig2) |
name = 'Mgs2'
signal = (sig1| sig2| sig3)
;
sig1: name = 'name1'
option = ('opt1' |
'opt2' |
'op3' |
'opt4')
;
sig2: name = 'name2'
option = ('opt1' |
'opt2' |
'op3' |
'opt4')
;
sig3: name = 'name3'
option = ('opt1' |
'opt2' |
'op3' |
'opt4')
;
@Test
def void loadModel() {
val result = parseHelper.parse('''
TestStep {
0|
WaitForSignal
Msg1
name1
opt4
2 ms
}
''')
Assertions.assertNotNull(result)
val errors = result.eResource.errors
Assertions.assertTrue(errors.isEmpty, '''Unexpected errors: «errors.join(", ")»''')
val msgSignal =
result.act.sig
println(msgSignal.name)
println(msgSignal.signal)
println((msgSignal.signal as sig1).name)
println((msgSignal.signal as sig1).option)
}