Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
/***************************************************
** @author STF 409
** @version 0.0.1
** @purpose 1:B.1.4.1, Ensure that the IUT correctly handles template matching of value length definitions
** @verdict pass reject
***************************************************/
module NegSem_B010401_length_restrictions_001 {
type record MessageType {
charstring field1,
bitstring field2,
hexstring field3,
charstring field4,
bitstring field5,
hexstring field6
}
type port loopbackPort message {
inout MessageType
}
type component GeneralComp {
port loopbackPort messagePort
}
testcase TC_NegSem_B010401_length_restrictions_001() runs on GeneralComp {
var MessageType v_testMessage;
template MessageType mw_matchingTemplate:=
{
field1 := pattern "test mess*ge" length (6 .. 8), //pattern is longer than length restriction
field2 := '10*'B length (3 .. 5),
field3 := '89*ABC'H length (5),
field4 := pattern "tes?" length (4 .. 13),
field5 := '10?'B length (3 .. 5),
field6 := '89?ABC'H length (6)
}
v_testMessage:= {
field1 := "test string",
field2 := '10101'B,
field3 := '89ABC'H,
field4 := "test",
field5 := '101'B,
field6 := '899ABC'H
}
messagePort.send(v_testMessage);
alt {
[] messagePort.receive(mw_matchingTemplate) {
setverdict(fail);
}
[] messagePort.receive {
setverdict(pass);
}
}
}
control{
execute(TC_NegSem_B010401_length_restrictions_001());
}
}