Newer
Older
module ItsRSUsSimulator_TestCases {
// Libcommon
import from LibCommon_VerdictControl all;
import from LibCommon_Sync all;
// LibItsCommon
import from LibItsCommon_Functions all;
// LibItsGeoNetworking
import from LibItsGeoNetworking_TestSystem all;
import from LibItsGeoNetworking_TypesAndValues all;
import from LibItsGeoNetworking_Templates all;
// LibItsDenm
import from LibItsDenm_Templates all;
// AtsRSUsSimulator
import from ItsRSUsSimulator_TypesAndValues all;
import from ItsRSUsSimulator_Templates all;
import from ItsRSUsSimulator_TestSystem all;
import from ItsRSUsSimulator_Functions all;
import from ItsRSUsSimulator_Pixits all;
testcase TC_RSUSIMU_BV_01() runs on ItsRSUsSimulator system ItsGeoNetworkingSystem {
// Local variables
var template (value) Payload v_payload;
var GeoNetworkingInd v_gnInd;
// Test control
// Test component configuration
f_cf01Up();
// Test adapter configuration
// Preamble
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
if (ispresent(vc_rsuMessagesValueList[PX_RSU_ID - 1].cam)) {
if (ispresent(vc_rsuMessagesValueList[PX_RSU_ID - 1].denms)) {
if (ispresent(vc_rsuMessagesValueList[PX_RSU_ID - 1].mapem)) {
if (ispresent(vc_rsuMessagesValueList[PX_RSU_ID - 1].spatems)) {
if (ispresent(vc_rsuMessagesValueList[PX_RSU_ID - 1].ivim)) {
alt {
[] geoNetworkingPort.receive(
mw_geoNwInd(
mw_geoNwPdu(
// FIXM Geobroadcast or TSB? mw_geoNwBroadcastPacketWithNextHeader_srem
mw_geoNwTsbPacketWithNextHeader_srem(
?,
?,
e_btpB
)))) -> value v_gnInd { // Receive a SREM message
log("*** " & testcasename() & ": DEBUG: Processing SREM ***");
f_processSrem(v_gnInd.msgIn);
repeat;
}
[] geoNetworkingPort.receive(mw_geoNwInd(?)) -> value v_gnInd { // Receive a message
log("*** " & testcasename() & ": DEBUG: Recieving unsollicited message ***");
// Nothing to do, just for logging purposes
repeat;
}
log("*** " & testcasename() & ": DEBUG: Processing CAM ***");
f_prepare_cam(v_payload);
f_send(v_payload);
tc_cam.start;
repeat;
}
log("*** " & testcasename() & ": DEBUG: Processing DENM ***");
[PICS_GENERATE_MAPEM] tc_mapem.timeout {
log("*** " & testcasename() & ": DEBUG: Processing MAPEM ***");
f_prepare_mapem(v_payload);
f_send(v_payload);
tc_mapem.start;
repeat;
}
[PICS_GENERATE_SPATEM] tc_spatem.timeout {
log("*** " & testcasename() & ": DEBUG: Processing SPATEM ***");
for (var integer v_counter := 0; v_counter < lengthof(vc_rsuMessagesValueList[PX_RSU_ID - 1].spatems); v_counter := v_counter + 1) {
f_prepare_spatem(vc_rsuMessagesValueList[PX_RSU_ID - 1].spatems[v_counter], v_payload);
f_send(v_payload);
}
tc_spatem.start;
repeat;
}
[PICS_GENERATE_IVIM] tc_ivim.timeout {
log("*** " & testcasename() & ": DEBUG: Processing IVIM ***");
f_prepare_ivim(v_payload);
f_send(v_payload);
tc_ivim.start;
repeat;
}