Newer
Older
/**
* @version $URL$
* $Id$
* @copyright ETSI Copyright Notification
* No part may be reproduced except as authorized by written permission.
* The copyright and the foregoing restriction extend to reproduction in all media.
* All rights reserved.
*
*/
module ItsMapem_TestCases {
// LibItsMapemSpatem
import from LibItsMapemSpatem_TestSystem all;
// ItsMapemSpatem
import from ItsMapem_TpFunctions all;
group mapeMessageDissemination {
group mapeMessageFormat {
/**
* @desc Check that protocolVersion is set to 1 and messageID is set to 4
* <pre>
* Pics Selection: PICS_RSU_ROLE and PICS_MAPEM_GENERATION
* Initial conditions:
* with {
* the IUT being in the "initial state"
* and the IUT sending MAPEM
* }
* Expected behaviour:
* ensure that {
* when {
* a MAPEM is generated
* }
* then {
* the IUT sends a valid MAPEM
* containing ITS PDU header
* containing protocolVersion
* indicating value '1'
* and containing messageID
* indicating value '5'
* }
* }
* </pre>
*
* @version 1.0.4
* @see ETSI TS 103 191-2 v1.2.1 TP_IS_RLT_MSGF_BV_01
* @reference ETSI TS 103 301 v1.0.4 Clause 6.3
*/
testcase TC_IS_RLT_MSGF_BV_01 () runs on ItsMapemSpatem system ItsMapemSpatemSystem {
f_IS_RLT_MSGF_BV_01();
} // End of testcase TC_IS_RLT_MSGF_BV_01
} // End of group mapeMessageFormat
/**
* @desc Check that IVI Service generates a new MAPEM on reception of a valid AppMAPEM_Trigger request
* <pre>
* Pics Selection: PICS_RSU_ROLE and PICS_MAPEM_GENERATION
* Initial conditions:
* with {
* the IUT being in the "initial state"
* and the IUT sending MAPEM
* }
* Expected behaviour:
* ensure that {
* when {
* a MAPEM is generated
* }
* then {
* the IUT sends a valid MAPEM
* }
* }
* </pre>
*
* @version 1.0.4
* @see ETSI TS 103 191-2 v1.2.1 TP_IS_RLT_EVGN_BV_01
* @reference ETSI TS 103 301 v1.0.4 Clause 6.4.1
*/
testcase TC_IS_RLT_EVGN_BV_01 () runs on ItsMapemSpatem system ItsMapemSpatemSystem {
f_IS_RLT_EVGN_BV_01();
} // End of testcase TC_IS_RLT_EVGN_BV_01
/**
* <pre>
* Pics Selection: PICS_RSU_ROLE and PICS_MAPEM_GENERATION
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
* Initial conditions:
* with {
* the IUT being in the "initial state"
* and the IUT sending MAPEM
* containing map
* not containing LayerType
* and not containing LayerID
* and containing restrictionList
* indicating the value RL_1
* }
* Expected behaviour:
* ensure that {
* when {
* the IUT is alerted about a new restrictionList indicating the value RL_2
* }
* then {
* the IUT sends a valid MAPEM
* containing map
* not containing LayerType
* and not containing LayerID
* and containing restrictionList
* indicating indicating the value R_2
* }
* }
* </pre>
*
* @version 1.0.4
* @see ETSI TS 103 191-2 v1.2.1 TP_IS_RLT_EVGN_BV_02
* @reference ETSI TS 103 301 v1.0.4 Clause 6.4.1
*/
testcase TC_IS_RLT_EVGN_BV_02 () runs on ItsMapemSpatem system ItsMapemSpatemSystem {
f_IS_RLT_EVGN_BV_02();
} // End of testcase TC_IS_RLT_EVGN_BV_02
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
/**
* @desc Check that RLT Service transmits fragmented MAPEM when the message size exceeds the allowed message length
* <pre>
* Pics Selection: PICS_RSU_ROLE and PICS_MAPEM_GENERATION
* Initial conditions:
* with {
* the IUT being in the "initial state"
* and the IUT has sent a MAPEM
* }
* Expected behaviour:
* ensure that {
* when {
* the IUT is alerted about a new content
* indicating a new value which exceeds the allowed message length
* }
* then {
* the IUT sends a first valid MAPEM
* containing map
* containing LayerType
* and containing LayerID
* indication a value LID_1
* and the IUT sends a second valid MAPEM
* containing map
* containing LayerType
* and containing LayerID
* indication a value LID_2 = LID_1 + 1
* }
* }
* </pre>
*
* @version 1.0.4
* @see ETSI TS 103 191-2 v1.2.1 TP_IS_RLT_EVGN_BV_03
* @reference ETSI TS 103 301 v1.0.4 Clause 6.4.1
*/
testcase TC_IS_RLT_EVGN_BV_03 () runs on ItsMapemSpatem system ItsMapemSpatemSystem {
f_IS_RLT_EVGN_BV_03();
} // End of testcase TC_IS_RLT_EVGN_BV_03
group mapeCommunication {
/**
* @desc Check that the RLT Service transmits continuously both MAPEM and SPATEM
* <pre>
* Pics Selection: PICS_RSU_ROLE and PICS_MAPEM_GENERATION and PICS_SPATEM_GENERATION
* Initial conditions:
* with {
* the IUT being in the "initial state"
* and the IUT sending MAPEM
* and the IUT has not sent any SPATEM yet
* }
* Expected behaviour:
* ensure that {
* when {
* the IUT receives an AppSPATEM_Start request from the application layer
* }
* then {
* the IUT sends a valid SPATEM
* and the IUT sends a valid MAPEM
* }
* }
* </pre>
*
* @version 1.0.4
* @see ETSI TS 103 191-2 v1.2.1 TP_IS_RLT_COMM_BV_01
* @reference ETSI TS 103 301 v1.0.4 Clause 6.4.3.1
*/
testcase TC_IS_RLT_COMM_BV_01 () runs on ItsMapemSpatem system ItsMapemSpatemSystem {
f_IS_RLT_COMM_BV_01();
} // End of testcase TC_IS_RLT_COMM_BV_01
/**
* @desc Check that MAPEM uses BTP_B packet
* <pre>
* Pics Selection: PICS_RSU_ROLE and PICS_MAPEM_GENERATION
* Initial conditions:
* with {
* the IUT being in the "initial state"
* and the IUT sending MAPEM
* }
* Expected behaviour:
* ensure that {
* when {
* a MAPEM is generated
* }
* then {
* the IUT sends a valid MAPEM
* encapsulated in a BTP-B packet
* }
* }
* </pre>
*
* @version 1.0.4
* @see ETSI TS 103 191-2 v1.2.1 TP_IS_RLT_COMM_BV_02_01
* @reference ETSI TS 103 301 v1.0.4 Clause 6.4.3.2
*/
testcase TC_IS_RLT_COMM_BV_02_01 () runs on ItsMapemSpatem system ItsMapemSpatemSystem {
f_IS_RLT_COMM_BV_02_01();
} // End of testcase TC_IS_RLT_COMM_BV_02_01
/**
* @desc Check that the destination port for MAPEM is set to 2003
* <pre>
* Pics Selection: PICS_RSU_ROLE and PICS_MAPEM_GENERATION
* Initial conditions:
* with {
* the IUT being in the "initial state"
* and the IUT sending MAPEM
* }
* Expected behaviour:
* ensure that {
* when {
* a MAPEM is generated
* }
* then {
* the IUT sends a valid MAPEM
* encapsulated in a BTP packet
* containing a destination port value set to 2003
* and containing a destination port info value set to 0
* }
* }
* </pre>
*
* @version 1.0.4
* @see ETSI TS 103 191-2 v1.2.1 TP_IS_RLT_COMM_BV_02_02
* @reference ETSI TS 103 301 v1.0.4 Clause 6.4.3.2
*/
testcase TC_IS_RLT_COMM_BV_02_02 () runs on ItsMapemSpatem system ItsMapemSpatemSystem {
f_IS_RLT_COMM_BV_02_02();
} // End of testcase TC_IS_RLT_COMM_BV_02_02
/**
* @desc Check that TLM service encapsulates MAPEM in a GBC with the HeaderType field set to the value of 4
* <pre>
* Pics Selection: PICS_RSU_ROLE and PICS_MAPEM_GENERATION
* Initial conditions:
* with {
* the IUT being in the "initial state"
* and the IUT sending MAPEM
* }
* Expected behaviour:
* ensure that {
* when {
* a MAPEM is generated
* }
* then {
* the IUT sends a valid MAPEM
* encapsulated in a GBC packet
* containing a correctly formatted Common Header
* containing HeaderType field
* indicating the value '4'
* }
* }
* </pre>
*
* @version 1.0.4
* @see ETSI TS 103 191-2 v1.2.1 TP_IS_RLT_COMM_BV_03
* @reference ETSI TS 103 301 v1.0.4 Clause 6.4.3.1
*/
testcase TC_IS_RLT_COMM_BV_03 () runs on ItsMapemSpatem system ItsMapemSpatemSystem {
f_IS_RLT_COMM_BV_03();
} // End of testcase TC_IS_RLT_COMM_BV_03
} // End of group mapeCommunication
} // End of group mapeMessageDissemination
group mapeMessageProcessing {
/**
* @desc Check that the IUT can successfully process all mandatory fields of MAPEM received
* <pre>
* Pics Selection: not PICS_RSU_ROLE and PICS_MAPEM_RECEPTION
* Initial conditions:
* with {
* the IUT being in the "initial state"
* and the IUT having receive a valid MAPEM
* }
* Expected behaviour:
* ensure that {
* when {
* the IUT receives a valid MAPEM
* }
* then {
* the IUT forwards the MAPEM content to upper layers
* and the IUT forwards the MAPEM content to other facilities
* }
* }
* </pre>
*
* @version 1.0.4
* @see ETSI TS 103 191-2 v1.2.1 TP_IS_RLT_MSGF_BV_02
* @reference ETSI TS 103 301 v1.0.4 Clause 6.3
*/
testcase TC_IS_RLT_MSGF_BV_02 () runs on ItsMapemSpatem system ItsMapemSpatemSystem {
f_IS_RLT_MSGF_BV_02();
} // End of testcase TC_IS_RLT_MSGF_BV_02
} // End of group mapeMessageProcessing
// group MapemSpatemMessageDissemination {
//
// /**
// * @desc Verify that when sending a MapData message the DSRCmsgSubID is set to value 1.
// * <pre>
// * Initial conditions:
// * with {
// * the IUT being in the "initial state"
// * }
// * Expected behaviour:
// * ensure that {
// * when {
// * a MapData message is generated
// * }
// * then {
// * the IUT sends a valid MapData message
// * containing DSRCmsgSubID
// * set to value 1
// * }
// * }
// * </pre>
// *
// * @version 0.0.1
// * @see ETSI TS 103 191-2 v1.2.1 TP/MAPEM-SPATEM/MSD/BV-01
// * @reference ETSI TS 103 301 v1.0.4 Clause 7.34
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
// */
// testcase TC_IS_RLT_MSD_BV_01 () runs on ItsMapemSpatem system ItsMapemSpatemSystem {
//
// // Local variables
//
// // Test component configuration
// f_cfUp();
//
// // Preamble
// f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
//
// // Test Body
// tc_ac.start;
// alt {
// [] mapemSpatemPort.receive ( mw_mapemInd ( mw_mapemPdu ( mw_itsPduHeaderMapem , mw_mapSubId1 ) ) ) {
// tc_ac.stop;
// log("*** " & testcasename() & ": PASS: Successfully received MAPEM with DSRCmsgSubID == 1. ***");
// f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
// }
// [] mapemSpatemPort.receive ( mw_mapemInd ( mw_mapemPdu ( mw_itsPduHeaderMapem , mw_anyMap ) ) ) {
// tc_ac.stop;
// log("*** " & testcasename() & ": FAIL: Received an incorrect MAPEM message. ***");
// f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
// }
// [] tc_ac.timeout {
// log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
// f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
// }
// }
//
// // Postamble
// f_poDefault();
// f_cfDown();
//
// } // End of testcase TC_IS_RLT_MSD_BV-01
//
// /**
// * @desc Verify that when sending a SPATEM the DSRCmsgSubID is set to value 1.
// * <pre>
// * Initial conditions:
// * with {
// * the IUT being in the "initial state"
// * }
// * Expected behaviour:
// * ensure that {
// * when {
// * }
// * then {
// * the IUT sends a valid SPATEM message
// * containing DSRCmsgSubID
// * set to value 1
// * }
// * }
// * </pre>
// *
// * @version 0.0.1
// * @see ETSI TS 103 191-2 V0.0.1 TP/MAPEM-SPATEM/MSD//BV-02
// * @reference ETSI TS 103 301 v1.0.4 Clause 7.34
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
// */
// testcase TC_IS_RLT_MSD_BV_02 () runs on ItsMapemSpatem system ItsMapemSpatemSystem {
//
// // Local variables
//
// // Test component configuration
// f_cfUp();
//
// // Preamble
// f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
//
// // Test Body
// // Triggering a SPATEM message
// f_utTriggerEvent ( m_utTriggerEvent ( spateMsg ) );
//
// tc_ac.start;
// alt {
// [] mapemSpatemPort.receive ( mw_spatemInd ( mw_spatemPdu ( mw_itsPduHeaderSpatem , mw_spatSubId1 ) ) ) {
// tc_ac.stop;
// log("*** " & testcasename() & ": PASS: Successfully received SPATEM with DSRCmsgSubID == 1. ***");
// f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
// }
// [] mapemSpatemPort.receive ( mw_spatemInd ( mw_spatemPdu ( mw_itsPduHeaderSpatem , mw_defaultSpatem ) ) ) {
// tc_ac.stop;
// log("*** " & testcasename() & ": FAIL: Received an incorrect MAPEM message. ***");
// f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
// }
// [] tc_ac.timeout {
// log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
// f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
// }
// }
//
// // Postamble
// f_poDefault();
// f_cfDown();
//
// } // End of testcase TC_IS_RLT_MSD_BV-02
//
// /**
// * @desc Repetition < 10s. Verify that: when the IUT is composing a new message with the same content as the most recent message
// * with the same DSRCmsgID, and less than 10 seconds have elapsed since it sent the previous message, the IUT uses the same MsgCount value.
// * <pre>
// * Initial conditions:
// * with {
// * the IUT being in the "initial state"
// * and the IUT has sent a MapData message
// * containing MsgCount
// * set to VALUE_1
// * }
// * Expected behaviour:
// * ensure that {
// * when {
// * a new MapData message with the same content is generated
// * and the repetition time is lesser than 10 s
// * }
// * then {
// * the IUT sends a valid MapData message
// * containing MsgCount
// * set to VALUE_1
// * }
// * }
// * </pre>
// *
// * @version 0.0.1
// * @see ETSI TS 103 191-2 V0.0.1 TP/MAPEM-SPATEM/MSD//BV-05
// * @reference ETSI TS 103 301 v1.0.4 Clause 7.92
// */
// testcase TC_IS_RLT_MSD_BV_05 () runs on ItsMapemSpatem system ItsMapemSpatemSystem {
//
// // Local variables
// var MsgCount v_msgCount;
// var MapemInd v_message;
//
// // Test component configuration
// f_cfUp();
//
// // Preamble
// // Triggering MAPEM repetition lesser than 10s
// v_msgCount := f_utTriggerEvent ( m_utTriggerEvent ( mapRepL10s ) );
// // Receiving first MAPEM message
// tc_ac.start;
// alt {
// [] mapemSpatemPort.receive ( mw_mapemInd ( mw_mapemPdu ( mw_itsPduHeaderMapem , mw_anyMap ) ) ) -> value v_message {
// tc_ac.stop;
// log("*** " & testcasename() & ": PASS: Successfully received first MAPEM message. ***");
// v_msgCount := v_message.msgIn.msgMapem.map_.msgIssueRevision;
// }
// [] tc_ac.timeout {
// log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
// f_selfOrClientSyncAndVerdict(c_prDone, e_timeout);
// }
// }
// f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
//
// // Test Body
// tc_ac.start (10.0);
// alt {
// [] mapemSpatemPort.receive ( mw_mapemInd ( mw_mapemPdu ( mw_itsPduHeaderMapem , mw_anyMap ) ) ) -> value v_message {
// tc_ac.stop;
// if ( v_message.msgIn.msgMapem.map_.msgIssueRevision == v_msgCount ) {
// log("*** " & testcasename() & ": PASS: Successfully received Second MAPEM with correct Count. ***");
// f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
// }
// else {
// log("*** " & testcasename() & ": FAIL: Received an incorrect MAPEM message. ***");
// f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
// }
// }
// [] tc_ac.timeout {
// log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
// f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
// }
// }
//
// // Postamble
// f_poDefault();
// f_cfDown();
//
// } // End of testcase TC_IS_RLT_MSD_BV-05
//
// /**
// * @desc Repetition >= 10s Verify that: when the IUT is composing a new message with the same content as the most recent message
// * with the same DSRCmsgID, and at least 10 seconds have elapsed since it sent the previous message, the IUT sets the MsgCount to any valid value.
// * <pre>
// * Initial conditions:
// * with {
// * the IUT being in the "initial state"
// * and the IUT has sent a MapData message
// * containing MsgCount
// * set to VALUE_1
//}
// * Expected behaviour:
// * ensure that {
// * when {
// * a new MapData message with the same content is generated
// * and the repetition time is greather or egal than 10 s
// * }
// * then {
// * the IUT sends a valid MapData message
// * containing MsgCount
// * set to any valid value
// * }
// * }
// * </pre>
// *
// * @version 0.0.1
// * @see ETSI TS 103 191-2 V0.0.1 TP/MAPEM-SPATEM/MSD//BV-06
// * @reference ETSI TS 103 301 v1.0.4 Clause 7.92
// */
// testcase TC_IS_RLT_MSD_BV_06 () runs on ItsMapemSpatem system ItsMapemSpatemSystem {
//
// // Local variables
// var MsgCount v_msgCount;
// var MapemInd v_message;
//
// // Test component configuration
// f_cfUp();
//
// // Preamble
// // Triggering MAPEM repetition greather than 10s
// v_msgCount := f_utTriggerEvent ( m_utTriggerEvent ( mapRepG10s ) );
// // Receiving first MAPEM message
// tc_ac.start;
// alt {
// [] mapemSpatemPort.receive ( mw_mapemInd ( mw_mapemPdu ( mw_itsPduHeaderMapem , mw_anyMap ) ) ) -> value v_message {
// tc_ac.stop;
// log("*** " & testcasename() & ": PASS: Successfully received first MAPEM message. ***");
// v_msgCount := v_message.msgIn.msgMapem.map_.msgIssueRevision;
// }
// [] tc_ac.timeout {
// log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
// f_selfOrClientSyncAndVerdict(c_prDone, e_timeout);
// }
// }
// f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
//
// // Test Body
// tc_ac.start (20.0);
// alt {
// [] mapemSpatemPort.receive ( mw_mapemInd ( mw_mapemPdu ( mw_itsPduHeaderMapem , mw_anyMap ) ) ) -> value v_message {
// tc_ac.stop;
// if ( v_message.msgIn.msgMapem.map_.msgIssueRevision != v_msgCount ) {
// log("*** " & testcasename() & ": PASS: Successfully received Second MAPEM with correct Count. ***");
// f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
// }
// else {
// log("*** " & testcasename() & ": FAIL: Received an incorrect MAPEM message. ***");
// f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
// }
// }
// [] tc_ac.timeout {
// log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
// f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
// }
// }
//
// // Postamble
// f_poDefault();
// f_cfDown();
//
// } // End of testcase TC_IS_RLT_MSD_BV-06
//
// /**
// * @desc Verify that the MsgCRC (if present) is the last data element of the MapData message.
// * <pre>
// * Initial conditions:
// * with {
// * the IUT being in the "initial state"
// * }
// * Expected behaviour:
// * ensure that {
// * when {
// * a MapData message is generated
// * }
// * then {
// * the IUT sends a valid MapData message
// * not containing MsgCRC
// * or
// * containing MsgCRC
// * as the last data element of the message
// * }
// * }
// * </pre>
// *
// * @version 0.0.1
// * @see ETSI TS 103 191-2 V0.0.1 TP/MAPEM-SPATEM/MSD//BV-08
// * @reference ETSI TS 103 301 v1.0.4 Clause 7.93
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
// */
// testcase TC_IS_RLT_MSD_BV_08 () runs on ItsMapemSpatem system ItsMapemSpatemSystem {
//
// // Local variables
//
// // Test component configuration
// f_cfUp();
//
// // Preamble
// f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
//
// // Test Body
// tc_ac.start;
// alt {
// [] mapemSpatemPort.receive ( mw_mapemInd ( mw_mapemPdu ( mw_itsPduHeaderMapem , mw_mapNoMsgCrc ) ) ) {
// tc_ac.stop;
// log("*** " & testcasename() & ": PASS: Successfully received MAPEM with no MsgCRC. ***");
// f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
// }
// [] mapemSpatemPort.receive ( mw_mapemInd ( mw_mapemPdu ( mw_itsPduHeaderMapem , mw_mapMsgCrcLast ) ) ) {
// tc_ac.stop;
// log("*** " & testcasename() & ": PASS: Successfully received MAPEM with MsgCRC as the last data element of the message. ***");
// f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
// }
// [] mapemSpatemPort.receive ( mw_mapemInd ( mw_mapemPdu ( mw_itsPduHeaderMapem , mw_anyMap ) ) ) {
// tc_ac.stop;
// log("*** " & testcasename() & ": FAIL: Received an incorrect MAPEM message. ***");
// f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
// }
// [] tc_ac.timeout {
// log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
// f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
// }
// }
//
// // Postamble
// f_poDefault();
// f_cfDown();
//
// } // End of testcase TC_IS_RLT_MSD_BV-08
//
// /**
// * @desc Verify that the LayerType is not contained in the MapData message.
// * <pre>
// * Initial conditions:
// * with {
// * the IUT being in the "initial state"
// * }
// * Expected behaviour:
// * ensure that {
// * when {
// * a MapData message is generated
// * }
// * then {
// * the IUT sends a valid MapData message
// * not containing LayerType
// * }
// * }
// * </pre>
// *
// * @version 0.0.1
// * @see ETSI TS 103 191-2 V0.0.1 TP/MAPEM-SPATEM/MSD//BV-09
// * @reference ETSI TS 103 301 v1.0.4 Clause 7.83
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
// */
// testcase TC_IS_RLT_MSD_BV_09 () runs on ItsMapemSpatem system ItsMapemSpatemSystem {
//
// // Local variables
//
// // Test component configuration
// f_cfUp();
//
// // Preamble
// f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
//
// // Test Body
// tc_ac.start;
// alt {
// [] mapemSpatemPort.receive ( mw_mapemInd ( mw_mapemPdu ( mw_itsPduHeaderMapem , mw_mapNoLayerType ) ) ) {
// tc_ac.stop;
// log("*** " & testcasename() & ": PASS: Successfully received MAPEM with no LayerType. ***");
// f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
// }
// [] mapemSpatemPort.receive ( mw_mapemInd ( mw_mapemPdu ( mw_itsPduHeaderMapem , mw_anyMap ) ) ) {
// tc_ac.stop;
// log("*** " & testcasename() & ": FAIL: Received an incorrect MAPEM message. ***");
// f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
// }
// [] tc_ac.timeout {
// log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
// f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
// }
// }
//
// // Postamble
// f_poDefault();
// f_cfDown();
//
// } // End of testcase TC_IS_RLT_MSD_BV-09
//
// /**
// * @desc Verify that the IntersectionReferenceID contained in the SPATEM correspond to a previously received intersection MAPEM.
// * <pre>
// * Initial conditions:
// * with {
// * the IUT being in the "initial state"
// * and the IUT has sent a MapData message
// * containing IntersectionList
// * containing INTERSECTION_1
// * }
// * Expected behaviour:
// * ensure that {
// * when {
// * }
// * then {
// * the IUT sends a valid SPATEM message
// * containing IntersectionReferenceID
// * corresponding to INTERSECTION_1
// * }
// * }
// * </pre>
// *
// * @version 0.0.1
// * @see ETSI TS 103 191-2 V0.0.1 TP/MAPEM-SPATEM/MSD//BV-10
// * @reference ETSI TS 103 301 v1.0.4 Clause 6.29
// */
// testcase TC_IS_RLT_MSD_BV_10 () runs on ItsMapemSpatem system ItsMapemSpatemSystem {
//
// // Local variables
// var MapemInd v_message;
// var SpatemInd v_spat;
// var IntersectionGeometryList v_intersections;
// var integer i,j;
// var boolean v_result := false;
//
// // Test component configuration
// f_cfUp();
//
// // Preamble
// // Receiving MAPEM - Saving IntersectionList
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
// tc_ac.start;
// alt {
// [] mapemSpatemPort.receive ( mw_mapemInd ( mw_mapemPdu ( mw_itsPduHeaderMapem , mw_anyMap ) ) ) -> value v_message {
// tc_ac.stop;
// log("*** " & testcasename() & ": PASS: Successfully received MAPEM message. ***");
// v_intersections := v_message.msgIn.msgMapem.map_.intersections;
// }
// [] tc_ac.timeout {
// log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
// f_selfOrClientSyncAndVerdict(c_prDone, e_timeout);
// }
// }
// f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
//
// // Test Body
// f_utTriggerEvent ( m_utTriggerEvent ( spateMsg ) );
//
// tc_ac.start;
// alt {
// [] mapemSpatemPort.receive ( mw_spatemInd ( mw_spatemPdu ( mw_itsPduHeaderSpatem , mw_defaultSpatem ) ) ) -> value v_spat {
// tc_ac.stop;
// log("*** " & testcasename() & ": Successfully received SPATEM message. ***");
// for ( i := 0 ; i < lengthof ( v_intersections ) and not v_result ; i := i+1 ) {
// for ( j := 0 ; j < lengthof ( v_spat.msgIn.msgSpatem.spat.intersections ) ; j := j+1 ) {
// if ( v_intersections[ i ].id == v_spat.msgIn.msgSpatem.spat.intersections[ j ].id ) {
// v_result := true;
// }
// }
// }
// if ( v_result ) {
// log("*** " & testcasename() & ": PASS: concordance of intersection ID. ***");
// f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
// }
// else {
// log("*** " & testcasename() & ": FAIL: non concordance of intersection ID. ***");
// f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
// }
// }
// [] tc_ac.timeout {
// log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
// f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
// }
// }
//
// // Postamble
// f_poDefault();
// f_cfDown();
//
// } // End of testcase TC_IS_RLT_MSD_BV-10
//
// /**
// * @desc Verify that the MapData message is well formatted.
// * <pre>
// * Initial conditions:
// * with {
// * the IUT being in the "initial state"
// * }
// * Expected behaviour:
// * ensure that {
// * when {
// * a MapData message is generated
// * }
// * then {
// * the IUT sends a valid MapData message
// * containing DSRCmsgSubID
// * set to value 1
// * containing MsgCount
// * not containing LayerType
// * }
// * }
// * </pre>
// *
// * @version 0.0.1
// * @see ETSI TS 103 191-2 V0.0.1 TP/MAPEM-SPATEM/MSD//BV-11
// * @reference ETSI TS 103 301 v1.0.4 Clause 10
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
// */
// testcase TC_IS_RLT_MSD_BV_11 () runs on ItsMapemSpatem system ItsMapemSpatemSystem {
//
// // Local variables
//
// // Test component configuration
// f_cfUp();
//
// // Preamble
// f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
//
// // Test Body
// tc_ac.start;
// alt {
// [] mapemSpatemPort.receive ( mw_mapemInd ( mw_mapemPdu ( mw_itsPduHeaderMapem , mw_mapWellFormatted ) ) ) {
// tc_ac.stop;
// log("*** " & testcasename() & ": PASS: Successfully received a well formatted MAPEM. ***");
// f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
// }
// [] mapemSpatemPort.receive ( mw_mapemInd ( mw_mapemPdu ( mw_itsPduHeaderMapem , mw_anyMap ) ) ) {
// tc_ac.stop;
// log("*** " & testcasename() & ": FAIL: Received an incorrect MAPEM message. ***");
// f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
// }
// [] tc_ac.timeout {
// log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
// f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
// }
// }
//
// // Postamble
// f_poDefault();
// f_cfDown();
//
// } // End of testcase TC_IS_RLT_MSD_BV-11
//
// /**
// * @desc Verify that the SPATEM is well formatted.
// * <pre>
// * Initial conditions:
// * with {
// * the IUT being in the "initial state"
// * }
// * Expected behaviour:
// * ensure that {
// * when {
// * }
// * then {
// * the IUT sends a valid SPATEM message
// * }
// * }
// * </pre>
// *
// * @version 0.0.1
// * @see ETSI TS 103 191-2 V0.0.1 TP/MAPEM-SPATEM/MSD//BV-12
// * @reference ETSI TS 103 301 v1.0.4 Clause 10
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
// */
// testcase TC_IS_RLT_MSD_BV_12 () runs on ItsMapemSpatem system ItsMapemSpatemSystem {
//
// // Local variables
//
// // Test component configuration
// f_cfUp();
//
// // Preamble
// f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
//
// // Test Body
// // Triggering a SPATEM message
// f_utTriggerEvent ( m_utTriggerEvent ( spateMsg ) );
//
// tc_ac.start;
// alt {
// [] mapemSpatemPort.receive ( mw_spatemInd ( mw_spatemPdu ( mw_itsPduHeaderSpatem , mw_spatSubId1 ) ) ) {
// tc_ac.stop;
// log("*** " & testcasename() & ": PASS: Successfully received SPATEM with DSRCmsgSubID == 1. ***");
// f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
// }
// [] mapemSpatemPort.receive ( mw_spatemInd ( mw_spatemPdu ( mw_itsPduHeaderSpatem , mw_defaultSpatem ) ) ) {
// tc_ac.stop;
// log("*** " & testcasename() & ": FAIL: Received an incorrect MAPEM message. ***");
// f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
// }
// [] tc_ac.timeout {
// log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
// f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
// }
// }
//
// // Postamble
// f_poDefault();
// f_cfDown();
//
// } // End of testcase TC_IS_RLT_MSD_BV-12
//
// /**
// * @desc Verify that when sending a MapData message, the IUT encapsulates the message into a GN SHB message.
// * <pre>
// * Initial conditions:
// * with {
// * the IUT being in the "initial state"
// * }
// * Expected behaviour:
// * ensure that {
// * when {
// * a MapData message is generated
// * }
// * then {
// * the IUT sends a valid MapData message encapsulated into a GN SHB message
// * }
// * }
// * </pre>
// *
// * @version 0.0.1