diff --git a/.gitmodules b/.gitmodules old mode 100755 new mode 100644 index 0133f9eabf7b914335c59d446b9dbd13db04911f..f14c1f7360a87ea3f25faa5c3034e9b15b82daa4 --- a/.gitmodules +++ b/.gitmodules @@ -1,4 +1,3 @@ [submodule "lib/asn1"] path = lib/asn1 - url = https://forge.etsi.org/rep/ITS/asn1/cam_en302637_2.git - branch = testing + url = https://forge.etsi.org/rep/ITS/asn1/cam_ts103900.git diff --git a/ItsCam_TestCases.ttcn b/ItsCam_TestCases.ttcn index f3c4371b01f22a5878e9cb4a57258f20d73f9787..6772116a1cf2b2e3f4990b6ea5887e992e30ec49 100644 --- a/ItsCam_TestCases.ttcn +++ b/ItsCam_TestCases.ttcn @@ -1,2434 +1,2844 @@ -/** - * @author ETSI / STF405 / STF449 / STF484 / STF517 - * @version $Url: https://oldforge.etsi.org/svn/ITS/tags/20170222_STF527_Final/ttcn/AtsCAM/ItsCam_TestCases.ttcn $ - * $Id: ItsCam_TestCases.ttcn 2655 2017-01-26 10:46:08Z filatov $ - * @desc Testcases for CA Protocol - * @reference ETSI EN 302 637-2 v1.4.1 - * @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 ItsCam_TestCases { - - // LibItsCam - import from LibItsCam_TestSystem all; - - // Ats Its - import from ItsCam_TpFunctions all; - - // 5.2.1 - group camMessageDissemination { - - group camMessageFormat { - - /** - * @desc Check that protocolVersion is set to 2 and messageID is - * set to 2. - *
- * Pics Selection: PICS_CAM_GENERATION - * Initial conditions: - * with { - * the IUT being in the "initial state" - * } - * Expected behaviour: - * ensure that { - * when { - * a CAM is generated - * } - * then { - * the IUT sends a valid CAM - * containing ITS PDU header - * containing protocolVersion - * indicating value 2 - * and containing messageID - * indicating value 2 - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/FMT/BV-01 - * @reference ETSI EN 302 637-2 v1.4.1, Annex B.1 - */ - testcase TC_CAM_MSD_FMT_BV_01() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_FMT_BV_01(); - - } // end TC_CAM_MSD_FMT_BV_01 - - /** - * @desc Check that LF container is included in 1st CAM since CA - * basic service activation. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state" - * and the IUT has not sent any CAM yet - * } - * Expected behaviour: - * ensure that { - * when { - * a CAM is generated - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing lowFrequencyContainer - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/FMT/BV-02 - * @reference ETSI EN 302 637-2 v1.4.1, clause 6.1.3 - */ - testcase TC_CAM_MSD_FMT_BV_02() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_FMT_BV_02(); - - } // end TC_CAM_MSD_FMT_BV_02 - - /** - * @desc Check that LF container is included if time elapsed since - * the generation of the last CAM with the low frequency - * container generation is equal or larger than 500 ms. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state" - * and the IUT has sent a CAM - * containing cam - * containing camParameters - * containing lowFrequencyContainer at time TIME_1 - * and the IUT has not sent CAM - * containing cam - * containing camParameters - * containing lowFrequencyContainer after TIME_1 - * } - * Expected behaviour: - * ensure that { - * when { - * a CAM is generated at time TIME_2 >= (TIME_1 + 500ms) - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing lowFrequencyContainer - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/FMT/BV-03 - * @reference ETSI EN 302 637-2 v1.4.1, clause 6.1.3 - */ - testcase TC_CAM_MSD_FMT_BV_03() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_FMT_BV_03(); - - } // end TC_CAM_MSD_FMT_BV_03 - - /** - * @desc Check that specialVehicle container is included in 1st CAM - * since CA basic service activation. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU AND (PICS_PUBLICTRANS OR PICS_SPECIALTRANS OR PICS_DANGEROUSGOODS OR PICS_ROADWORKS OR PICS_RESCUE OR PICS_EMERGENCY OR PICS_SAFETYCAR) - * Initial conditions: - * with { - * the IUT being in the "initial state" - * and the IUT is configured to advertise itself as a special vehicle - * and the IUT has not sent any CAM yet - * } - * Expected behaviour: - * ensure that { - * when { - * a CAM is generated - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing specialVehicleContainer - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/FMT/BV-04 - * @reference ETSI EN 302 637-2 v1.4.1, clause 6.1.3 - */ - testcase TC_CAM_MSD_FMT_BV_04() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_FMT_BV_04(); - - } // end TC_CAM_MSD_FMT_BV_04 - - /** - * @desc Check that specialVehicle container is included if time - * elapsed since the generation of the last CAM with the - * special vehicle container generation is equal or larger - * than 500 ms. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU AND (PICS_PUBLICTRANS OR PICS_SPECIALTRANS OR PICS_DANGEROUSGOODS OR PICS_ROADWORKS OR PICS_RESCUE OR PICS_EMERGENCY OR PICS_SAFETYCAR) - * Initial conditions: - * with { - * the IUT being in the "initial state" - * and the IUT has sent a CAM - * containing cam - * containing camParameters - * containing specialVehicleContainer at time TIME_1 - * and the IUT has not sent CAM - * containing cam - * containing camParameters - * containing specialVehicleContainer after TIME_1 - * } - * Expected behaviour: - * ensure that { - * when { - * a CAM is generated at time TIME_2 >= (TIME_1 + 500ms) - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing specialVehicleContainer - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/FMT/BV-05 - * @reference ETSI EN 302 637-2 v1.4.1, clause 6.1.3 - */ - testcase TC_CAM_MSD_FMT_BV_05() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_FMT_BV_05(); - - } // end TC_CAM_MSD_FMT_BV_05 - - } // end group camMessageFormat - - group camInformationAdaptation { - - group camInVehicleData { - - /** - * @desc Check that latest value of in-vehicle data is included - * in CAM. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state - * } - * INFO: Curvature value - * FIELD: highFrequencyContainer - * .basicVehicleContainerHighFrequency - * .curvature - * VALUE: measured value - * - * Expected behaviour: - * ensure that { - * when { - * the IUT is alerted about INFO - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing FIELD set to VALUE - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-01 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.2 - */ - testcase TC_CAM_MSD_INA_BV_01_01() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_01_01(); - - } // end TC_CAM_MSD_INA_BV_01_01 - - /** - * @desc Check that latest value of in-vehicle data is included - * in CAM. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state - * } - * INFO: Brake pedal being activated - * FIELD: highFrequencyContainer - * .basicVehicleContainerHighFrequency - * .accelerationControl - * .brakePedalActive - * VALUE: 1 - * - * Expected behaviour: - * ensure that { - * when { - * the IUT is alerted about INFO - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing FIELD set to VALUE - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-01-02 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.2 - */ - testcase TC_CAM_MSD_INA_BV_01_02() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_01_02(); - - } // end TC_CAM_MSD_INA_BV_01_02 - - /** - * @desc Check that latest value of in-vehicle data is included - * in CAM. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state - * } - * INFO: Brake pedal being deactivated - * FIELD: highFrequencyContainer - * .basicVehicleContainerHighFrequency - * .accelerationControl - * .brakePedalActive - * VALUE: 0 - * - * Expected behaviour: - * ensure that { - * when { - * the IUT is alerted about INFO - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing FIELD set to VALUE - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-01-03 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.2 - */ - testcase TC_CAM_MSD_INA_BV_01_03() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_01_03(); - - } // end TC_CAM_MSD_INA_BV_01_03 - - /** - * @desc Check that latest value of in-vehicle data is included - * in CAM. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state - * } - * INFO: Gas pedal being activated - * FIELD: highFrequencyContainer - * .basicVehicleContainerHighFrequency - * .accelerationControl - * .gasPedalActive - * VALUE: 1 - * - * Expected behaviour: - * ensure that { - * when { - * the IUT is alerted about INFO - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing FIELD set to VALUE - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-01-04 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.2 - */ - testcase TC_CAM_MSD_INA_BV_01_04() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_01_04(); - - } // end TC_CAM_MSD_INA_BV_01_04 - - /** - * @desc Check that latest value of in-vehicle data is included - * in CAM. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state - * } - * INFO: Gas pedal being deactivated - * FIELD: highFrequencyContainer - * .basicVehicleContainerHighFrequency - * .accelerationControl - * .gasPedalActive - * VALUE: 0 - * - * Expected behaviour: - * ensure that { - * when { - * the IUT is alerted about INFO - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing FIELD set to VALUE - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-01-05 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.2 - */ - testcase TC_CAM_MSD_INA_BV_01_05() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_01_05(); - - } // end TC_CAM_MSD_INA_BV_01_05 - - /** - * @desc Check that latest value of in-vehicle data is included - * in CAM. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state - * } - * INFO: Emergency brake being activated - * FIELD: highFrequencyContainer - * .basicVehicleContainerHighFrequency - * .accelerationControl - * .emergencyBrakeActive - * VALUE: 1 - * - * Expected behaviour: - * ensure that { - * when { - * the IUT is alerted about INFO - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing FIELD set to VALUE - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-01-06 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.2 - */ - testcase TC_CAM_MSD_INA_BV_01_06() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_01_06(); - - } // end TC_CAM_MSD_INA_BV_01_06 - - /** - * @desc Check that latest value of in-vehicle data is included - * in CAM. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state - * } - * INFO: Emergency brake being deactivated - * FIELD: highFrequencyContainer - * .basicVehicleContainerHighFrequency - * .accelerationControl - * .emergencyBrakeActive - * VALUE: 0 - * - * Expected behaviour: - * ensure that { - * when { - * the IUT is alerted about INFO - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing FIELD set to VALUE - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-01-07 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.2 - */ - testcase TC_CAM_MSD_INA_BV_01_07() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_01_07(); - - } // end TC_CAM_MSD_INA_BV_01_07 - - /** - * @desc Check that latest value of in-vehicle data is included - * in CAM. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state - * } - * INFO: Collision warning being activated - * FIELD: highFrequencyContainer - * .basicVehicleContainerHighFrequency - * .accelerationControl - * .collisionWarningActive - * VALUE: 1 - * - * Expected behaviour: - * ensure that { - * when { - * the IUT is alerted about INFO - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing FIELD set to VALUE - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-01-08 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.2 - */ - testcase TC_CAM_MSD_INA_BV_01_08() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_01_08(); - - } // end TC_CAM_MSD_INA_BV_01_08 - - /** - * @desc Check that latest value of in-vehicle data is included - * in CAM. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state - * } - * INFO: Collision warning being deactivated - * FIELD: highFrequencyContainer - * .basicVehicleContainerHighFrequency - * .accelerationControl - * .collisionWarningActive - * VALUE: 0 - * - * Expected behaviour: - * ensure that { - * when { - * the IUT is alerted about INFO - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing FIELD set to VALUE - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-01-09 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.2 - */ - testcase TC_CAM_MSD_INA_BV_01_09() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_01_09(); - - } // end TC_CAM_MSD_INA_BV_01_09 - - /** - * @desc Check that latest value of in-vehicle data is included - * in CAM. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state - * } - * INFO: ACC being activated - * FIELD: highFrequencyContainer - * .basicVehicleContainerHighFrequency - * .accelerationControl - * .accActive - * VALUE: 1 - * - * Expected behaviour: - * ensure that { - * when { - * the IUT is alerted about INFO - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing FIELD set to VALUE - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-01-10 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.2 - */ - testcase TC_CAM_MSD_INA_BV_01_10() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_01_10(); - - } // end TC_CAM_MSD_INA_BV_01_10 - - /** - * @desc Check that latest value of in-vehicle data is included - * in CAM. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state - * } - * INFO: ACC being deactivated - * FIELD: highFrequencyContainer - * .basicVehicleContainerHighFrequency - * .accelerationControl - * .accActive - * VALUE: 0 - * - * Expected behaviour: - * ensure that { - * when { - * the IUT is alerted about INFO - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing FIELD set to VALUE - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-01-11 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.2 - */ - testcase TC_CAM_MSD_INA_BV_01_11() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_01_11(); - - } // end TC_CAM_MSD_INA_BV_01_11 - - /** - * @desc Check that latest value of in-vehicle data is included - * in CAM. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state - * } - * INFO: Cruise control being activated - * FIELD: highFrequencyContainer - * .basicVehicleContainerHighFrequency - * .accelerationControl - * .cruiseControl - * VALUE: 1 - * - * Expected behaviour: - * ensure that { - * when { - * the IUT is alerted about INFO - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing FIELD set to VALUE - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-01-12 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.2 - */ - testcase TC_CAM_MSD_INA_BV_01_12() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_01_12(); - - } // end TC_CAM_MSD_INA_BV_01_12 - - /** - * @desc Check that latest value of in-vehicle data is included - * in CAM. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state - * } - * INFO: Cruise control being deactivated - * FIELD: highFrequencyContainer - * .basicVehicleContainerHighFrequency - * .accelerationControl - * .cruiseControl - * VALUE: 0 - * - * Expected behaviour: - * ensure that { - * when { - * the IUT is alerted about INFO - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing FIELD set to VALUE - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-01-13 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.2 - */ - testcase TC_CAM_MSD_INA_BV_01_13() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_01_13(); - - } // end TC_CAM_MSD_INA_BV_01_13 - - /** - * @desc Check that latest value of in-vehicle data is included - * in CAM. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state - * } - * INFO: Speed limiter being activated - * FIELD: highFrequencyContainer - * .basicVehicleContainerHighFrequency - * .accelerationControl - * .speedLimiterActive - * VALUE: 1 - * - * Expected behaviour: - * ensure that { - * when { - * the IUT is alerted about INFO - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing FIELD set to VALUE - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-01-14 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.2 - */ - testcase TC_CAM_MSD_INA_BV_01_14() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_01_14(); - - } // end TC_CAM_MSD_INA_BV_01_14 - - /** - * @desc Check that latest value of in-vehicle data is included - * in CAM. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state - * } - * INFO: Speed limiter control being deactivated - * FIELD: highFrequencyContainer - * .basicVehicleContainerHighFrequency - * .accelerationControl - * .speedLimiterActive - * VALUE: 0 - * - * Expected behaviour: - * ensure that { - * when { - * the IUT is alerted about INFO - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing FIELD set to VALUE - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-01-15 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.2 - */ - testcase TC_CAM_MSD_INA_BV_01_15() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_01_15(); - - } // end TC_CAM_MSD_INA_BV_01_15 - - /** - * @desc Check that latest value of in-vehicle data is included - * in CAM. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state - * } - * INFO: Low beam headlights being activated - * FIELD: lowFrequencyContainer - * .basicVehicleContainerLowFrequency - * .exteriorLights - * .lowBeamHeadlightsOn - * VALUE: 1 - * - * Expected behaviour: - * ensure that { - * when { - * the IUT is alerted about INFO - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing FIELD set to VALUE - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-01-16 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.2 - */ - testcase TC_CAM_MSD_INA_BV_01_16() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_01_16(); - - } // end TC_CAM_MSD_INA_BV_01_16 - - /** - * @desc Check that latest value of in-vehicle data is included - * in CAM. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state - * } - * INFO: Low beam headlights being deactivated - * FIELD: lowFrequencyContainer - * .basicVehicleContainerLowFrequency - * .exteriorLights - * .lowBeamHeadlightsOn - * VALUE: 0 - * - * Expected behaviour: - * ensure that { - * when { - * the IUT is alerted about INFO - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing FIELD set to VALUE - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-01-17 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.2 - */ - testcase TC_CAM_MSD_INA_BV_01_17() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_01_17(); - - } // end TC_CAM_MSD_INA_BV_01_17 - - /** - * @desc Check that latest value of in-vehicle data is included - * in CAM. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state - * } - * INFO: High beam headlights being activated - * FIELD: lowFrequencyContainer - * .basicVehicleContainerLowFrequency - * .exteriorLights - * .highBeamHeadlightsOn - * VALUE: 1 - * - * Expected behaviour: - * ensure that { - * when { - * the IUT is alerted about INFO - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing FIELD set to VALUE - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-01-18 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.2 - */ - testcase TC_CAM_MSD_INA_BV_01_18() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_01_18(); - - } // end TC_CAM_MSD_INA_BV_01_18 - - /** - * @desc Check that latest value of in-vehicle data is included - * in CAM. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state - * } - * INFO: High beam headlights being deactivated - * FIELD: lowFrequencyContainer - * .basicVehicleContainerLowFrequency - * .exteriorLights - * .highBeamHeadlightsOn - * VALUE: 0 - * - * Expected behaviour: - * ensure that { - * when { - * the IUT is alerted about INFO - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing FIELD set to VALUE - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-01-19 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.2 - */ - testcase TC_CAM_MSD_INA_BV_01_19() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_01_19(); - - } // end TC_CAM_MSD_INA_BV_01_19 - - /** - * @desc Check that latest value of in-vehicle data is included - * in CAM. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state - * } - * INFO: Left turn signal being activated - * FIELD: lowFrequencyContainer - * .basicVehicleContainerLowFrequency - * .exteriorLights - * .leftTurnSignalOn - * VALUE: 1 - * - * Expected behaviour: - * ensure that { - * when { - * the IUT is alerted about INFO - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing FIELD set to VALUE - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-01-20 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.2 - */ - testcase TC_CAM_MSD_INA_BV_01_20() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_01_20(); - - } // end TC_CAM_MSD_INA_BV_01_20 - - /** - * @desc Check that latest value of in-vehicle data is included - * in CAM. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state - * } - * INFO: Left turn signal being deactivated - * FIELD: lowFrequencyContainer - * .basicVehicleContainerLowFrequency - * .exteriorLights - * .leftTurnSignalOn - * VALUE: 0 - * - * Expected behaviour: - * ensure that { - * when { - * the IUT is alerted about INFO - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing FIELD set to VALUE - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-01-21 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.2 - */ - testcase TC_CAM_MSD_INA_BV_01_21() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_01_21(); - - } // end TC_CAM_MSD_INA_BV_01_21 - - /** - * @desc Check that latest value of in-vehicle data is included - * in CAM. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state - * } - * INFO: Right turn signal being activated - * FIELD: lowFrequencyContainer - * .basicVehicleContainerLowFrequency - * .exteriorLights - * .rightTurnSignalOn - * VALUE: 1 - * - * Expected behaviour: - * ensure that { - * when { - * the IUT is alerted about INFO - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing FIELD set to VALUE - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-01-22 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.2 - */ - testcase TC_CAM_MSD_INA_BV_01_22() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_01_22(); - - } // end TC_CAM_MSD_INA_BV_01_22 - - /** - * @desc Check that latest value of in-vehicle data is included - * in CAM. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state - * } - * INFO: Right turn signal being deactivated - * FIELD: lowFrequencyContainer - * .basicVehicleContainerLowFrequency - * .exteriorLights - * .rightTurnSignalOn - * VALUE: 0 - * - * Expected behaviour: - * ensure that { - * when { - * the IUT is alerted about INFO - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing FIELD set to VALUE - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-01-23 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.2 - */ - testcase TC_CAM_MSD_INA_BV_01_23() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_01_23(); - - } // end TC_CAM_MSD_INA_BV_01_23 - - /** - * @desc Check that latest value of in-vehicle data is included - * in CAM. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state - * } - * INFO: Daytime running lights being activated - * FIELD: lowFrequencyContainer - * .basicVehicleContainerLowFrequency - * .exteriorLights - * .daytimeRunningLightsOn - * VALUE: 1 - * - * Expected behaviour: - * ensure that { - * when { - * the IUT is alerted about INFO - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing FIELD set to VALUE - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-01-24 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.2 - */ - testcase TC_CAM_MSD_INA_BV_01_24() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_01_24(); - - } // end TC_CAM_MSD_INA_BV_01_24 - - /** - * @desc Check that latest value of in-vehicle data is included - * in CAM. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state - * } - * INFO: Daytime running lights being deactivated - * FIELD: lowFrequencyContainer - * .basicVehicleContainerLowFrequency - * .exteriorLights - * .daytimeRunningLightsOn - * VALUE: 0 - * - * Expected behaviour: - * ensure that { - * when { - * the IUT is alerted about INFO - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing FIELD set to VALUE - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-01-25 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.2 - */ - testcase TC_CAM_MSD_INA_BV_01_25() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_01_25(); - - } // end TC_CAM_MSD_INA_BV_01_25 - - /** - * @desc Check that latest value of in-vehicle data is included - * in CAM. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state - * } - * INFO: Reverse light being activated - * FIELD: lowFrequencyContainer - * .basicVehicleContainerLowFrequency - * .exteriorLights - * .reverseLightOn - * VALUE: 1 - * - * Expected behaviour: - * ensure that { - * when { - * the IUT is alerted about INFO - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing FIELD set to VALUE - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-01-26 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.2 - */ - testcase TC_CAM_MSD_INA_BV_01_26() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_01_26(); - - } // end TC_CAM_MSD_INA_BV_01_26 - - /** - * @desc Check that latest value of in-vehicle data is included - * in CAM. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state - * } - * INFO: Reverse light being deactivated - * FIELD: lowFrequencyContainer - * .basicVehicleContainerLowFrequency - * .exteriorLights - * .reverseLightOn - * VALUE: 0 - * - * Expected behaviour: - * ensure that { - * when { - * the IUT is alerted about INFO - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing FIELD set to VALUE - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-01-27 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.2 - */ - testcase TC_CAM_MSD_INA_BV_01_27() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_01_27(); - - } // end TC_CAM_MSD_INA_BV_01_27 - - /** - * @desc Check that latest value of in-vehicle data is included - * in CAM. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state - * } - * INFO: Fog lights being activated - * FIELD: lowFrequencyContainer - * .basicVehicleContainerLowFrequency - * .exteriorLights - * .fogLightOn - * VALUE: 1 - * - * Expected behaviour: - * ensure that { - * when { - * the IUT is alerted about INFO - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing FIELD set to VALUE - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-01-28 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.2 - */ - testcase TC_CAM_MSD_INA_BV_01_28() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_01_28(); - - } // end TC_CAM_MSD_INA_BV_01_28 - - /** - * @desc Check that latest value of in-vehicle data is included - * in CAM. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state - * } - * INFO: Fog lights being deactivated - * FIELD: lowFrequencyContainer - * .basicVehicleContainerLowFrequency - * .exteriorLights - * .fogLightOn - * VALUE: 0 - * - * Expected behaviour: - * ensure that { - * when { - * the IUT is alerted about INFO - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing FIELD set to VALUE - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-01-29 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.2 - */ - testcase TC_CAM_MSD_INA_BV_01_29() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_01_29(); - - } // end TC_CAM_MSD_INA_BV_01_29 - - /** - * @desc Check that latest value of in-vehicle data is included - * in CAM. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state - * } - * INFO: Parking lights being activated - * FIELD: lowFrequencyContainer - * .basicVehicleContainerLowFrequency - * .exteriorLights - * .parkingLightsOn - * VALUE: 1 - * - * Expected behaviour: - * ensure that { - * when { - * the IUT is alerted about INFO - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing FIELD set to VALUE - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-01-30 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.2 - */ - testcase TC_CAM_MSD_INA_BV_01_30() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_01_30(); - - } // end TC_CAM_MSD_INA_BV_01_30 - - /** - * @desc Check that latest value of in-vehicle data is included - * in CAM. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state - * } - * INFO: Parking lights being deactivated - * FIELD: lowFrequencyContainer - * .basicVehicleContainerLowFrequency - * .exteriorLights - * .parkingLightsOn - * VALUE: 0 - * - * Expected behaviour: - * ensure that { - * when { - * the IUT is alerted about INFO - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing FIELD set to VALUE - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-01-31 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.2 - */ - testcase TC_CAM_MSD_INA_BV_01_31() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_01_31(); - - } // end TC_CAM_MSD_INA_BV_01_31 - - /** - * @desc Check that latest value of in-vehicle data is included - * in CAM. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state - * } - * INFO: Heading value - * FIELD: highFrequencyContainer - * .basicVehicleContainerHighFrequency - * .heading - * VALUE: measured value - * - * Expected behaviour: - * ensure that { - * when { - * the IUT is alerted about INFO - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing FIELD set to VALUE - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-01-32 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.2 - */ - testcase TC_CAM_MSD_INA_BV_01_32() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_01_32(); - - } // end TC_CAM_MSD_INA_BV_01_32 - - /** - * @desc Check that latest value of in-vehicle data is included - * in CAM. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state - * } - * INFO: Speed value - * FIELD: highFrequencyContainer - * .basicVehicleContainerHighFrequency - * .speed - * VALUE: measured value - * - * Expected behaviour: - * ensure that { - * when { - * the IUT is alerted about INFO - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing FIELD set to VALUE - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-01-33 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.2 - */ - testcase TC_CAM_MSD_INA_BV_01_33() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_01_33(); - - } // end TC_CAM_MSD_INA_BV_01_33 - - /** - * @desc Check that latest value of in-vehicle data is included - * in CAM. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state - * } - * INFO: Drive direction value - * FIELD: highFrequencyContainer - * .basicVehicleContainerHighFrequency - * .driveDirection - * VALUE: measured value - * - * Expected behaviour: - * ensure that { - * when { - * the IUT is alerted about INFO - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing FIELD set to VALUE - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-01-34 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.2 - */ - testcase TC_CAM_MSD_INA_BV_01_34() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_01_34(); - - } // end TC_CAM_MSD_INA_BV_01_34 - - /** - * @desc Check that latest value of in-vehicle data is included - * in CAM. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state - * } - * INFO: Yaw rate value - * FIELD: highFrequencyContainer - * .basicVehicleContainerHighFrequency - * .yawRate - * VALUE: measured value - * - * Expected behaviour: - * ensure that { - * when { - * the IUT is alerted about INFO - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing FIELD set to VALUE - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-01-35 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.2 - */ - testcase TC_CAM_MSD_INA_BV_01_35() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_01_35(); - - } // end TC_CAM_MSD_INA_BV_01_35 - - } // end group camInVehicleData - - /** - * @desc Check that publicTransportContainer is included if - * vehicleRole is set to publicTransport(1). - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU AND PICS_PUBLICTRANS - * Initial conditions: - * with { - * the IUT being in the "initial state" - * the IUT’s vehicle role being set to publicTransport(1) - * } - * Expected behaviour: - * ensure that { - * when { - * a CAM is generated - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing specialVehicleContainer - * containing publicTransportContainer - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-02 - * @reference ETSI EN 302 637-2 v1.4.1, Annex B.11 - */ - testcase TC_CAM_MSD_INA_BV_02() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_02(); - - } // end TC_CAM_MSD_INA_BV_02 - - /** - * @desc Check that specialTransportContainer is included if - * vehicleRole is set to specialTransport(2). - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU AND PICS_SPECIALTRANS - * Initial conditions: - * with { - * the IUT being in the "initial state" - * the IUT’s vehicle role being set to specialTransport(2) - * } - * Expected behaviour: - * ensure that { - * when { - * a CAM is generated - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing specialVehicleContainer - * containing specialTransportContainer - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-03 - * @reference ETSI EN 302 637-2 v1.4.1, Annex B.12 - */ - testcase TC_CAM_MSD_INA_BV_03() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_03(); - - } // end TC_CAM_MSD_INA_BV_03 - - /** - * @desc Check that dangerousGoodsContainer is included if - * vehicleRole is set to dangerousGoods(3). - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU AND PICS_DANGEROUSGOODS - * Initial conditions: - * with { - * the IUT being in the "initial state" - * the IUT’s vehicle role being set to dangerousGoods(3) - * } - * Expected behaviour: - * ensure that { - * when { - * a CAM is generated - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing specialVehicleContainer - * containing dangerousGoodsContainer - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-04 - * @reference ETSI EN 302 637-2 v1.4.1, Annex B.13 - */ - testcase TC_CAM_MSD_INA_BV_04() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_04(); - - } // end TC_CAM_MSD_INA_BV_04 - - /** - * @desc Check that roadWorksContainerBasic is included if - * vehicleRole is set to roadWork(4). - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU AND PICS_ROADWORKS - * Initial conditions: - * with { - * the IUT being in the "initial state" - * the IUT’s vehicle role being set to roadWork(4) - * } - * Expected behaviour: - * ensure that { - * when { - * a CAM is generated - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing specialVehicleContainer - * containing roadWorksContainerBasic - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-05 - * @reference ETSI EN 302 637-2 v1.4.1, Annex B.14 - */ - testcase TC_CAM_MSD_INA_BV_05() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_05(); - - } // end TC_CAM_MSD_INA_BV_05 - - /** - * @desc Check that rescueContainer is included if vehicleRole is - * set to rescue(5). - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU AND PICS_RESCUE - * Initial conditions: - * with { - * the IUT being in the "initial state" - * the IUT’s vehicle role being set to rescue(5) - * } - * Expected behaviour: - * ensure that { - * when { - * a CAM is generated - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing specialVehicleContainer - * containing rescueContainer - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-06 - * @reference ETSI EN 302 637-2 v1.4.1, Annex B.15 - */ - testcase TC_CAM_MSD_INA_BV_06() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_06(); - - } // end TC_CAM_MSD_INA_BV_06 - - /** - * @desc Check that emergencyContainer is included if vehicleRole - * is set to emergency(6). - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU AND PICS_EMERGENCY - * Initial conditions: - * with { - * the IUT being in the "initial state" - * the IUT’s vehicle role being set to emergency(6) - * } - * Expected behaviour: - * ensure that { - * when { - * a CAM is generated - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing specialVehicleContainer - * containing emergencyContainer - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-07 - * @reference ETSI EN 302 637-2 v1.4.1, Annex B.16 - */ - testcase TC_CAM_MSD_INA_BV_07() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_07(); - - } // end TC_CAM_MSD_INA_BV_07 - - /** - * @desc Check that safetyCarContainer is included if vehicleRole - * is set to safetyCar(7). - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU AND PICS_SAFETY_CAR - * Initial conditions: - * with { - * the IUT being in the "initial state" - * the IUT’s vehicle role being set to safetyCar(7) - * } - * Expected behaviour: - * ensure that { - * when { - * a CAM is generated - * } - * then { - * the IUT sends a valid CAM - * containing cam - * containing camParameters - * containing specialVehicleContainer - * containing safetyCarContainer - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/INA/BV-08 - * @reference ETSI EN 302 637-2 v1.4.1, Annex B.17 - */ - testcase TC_CAM_MSD_INA_BV_08() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_INA_BV_08(); - - } // end TC_CAM_MSD_INA_BV_08 - - } // end group camInformationAdaptation - - group camGenerationFrequency { - - /** - * @desc Check that CAMs are not generated more frequently than - * T_GenCamMin. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state" - * } - * Expected behaviour: - * ensure that { - * when { - * IUT sends a CAM - * } - * then { - * the IUT does not send any CAM before expiry of T_GenCamMin - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/GFQ/TI-01 - * @reference ETSI EN 302 637-2 v1.4.1, clause 6.1.3 - */ - testcase TC_CAM_MSD_GFQ_TI_01() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_GFQ_TI_01(); - - } // end TC_CAM_MSD_GFQ_TI_01 - - /** - * @desc Check that CAMs are not generated less frequently than - * T_GenCamMax. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state" - * } - * Expected behaviour: - * ensure that { - * when { - * IUT sends a CAM - * } - * then { - * the IUT sends another CAM before expiry of T_GenCamMax - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/GFQ/TI-02 - * @reference ETSI EN 302 637-2 v1.4.1, clause 6.1.3 - */ - testcase TC_CAM_MSD_GFQ_TI_02() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_GFQ_TI_02(); - - } // end TC_CAM_MSD_GFQ_TI_02 - - /** - * @desc Check that TGenCam is set to T_GenCamMax after generating - * N_GenCam due to condition 2. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state" - * the IUT having sent a CAM at time TIME_1 - * the IUT having sent an anticipated CAM due to condition 2 at time (TIME_1 + INTERVAL_1) - * the IUT having sent (N_GenCam - 1) subsequent CAMs every INTERVAL_1 - * } - * Expected behaviour: - * ensure that { - * when { - * the IUT sends CAM - * } - * then { - * the IUT sends another CAM after expiry of T_GenCamMax - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/GFQ/TI-03 - * @reference ETSI EN 302 637-2 v1.4.1, clause 6.1.3 - */ - testcase TC_CAM_MSD_GFQ_TI_03() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_GFQ_TI_03(); - - } // end TC_CAM_MSD_GFQ_TI_03 - - /** - * @desc Check that CAM is generated immediately when the time - * elapsed since the last CAM generation is equal or larger - * than T_GenCam_Dcc and the absolute difference between - * current direction of the originating ITS-S (towards North) - * and direction included in previous CAM exceeds 4°. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state" - * the IUT having sent a CAM at time TIME_1 - * containing cam - * containing camParameters - * containing highFrequencyContainer - * containing basicVehicleContainerHighFrequency - * containing heading set to HEADING_1 - * the IUT not having sent any CAM since T_GenCam_Dcc - * } - * Expected behaviour: - * ensure that { - * when { - * T_GenCam_Dcc expires - * and the IUT is alerted that abs(CurrentHeading – HEADING_1) > 4° - * } - * then { - * the IUT sends a CAM immediately - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/GFQ/BV-04 - * @reference ETSI EN 302 637-2 v1.4.1, clause 6.1.3 - */ - testcase TC_CAM_MSD_GFQ_BV_04() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_GFQ_BV_04(); - - } // end TC_CAM_MSD_GFQ_BV_04 - - /** - * @desc Check that CAM is generated immediately when the time - * elapsed since the last CAM generation is equal or larger - * than T_GenCam_Dcc and the current position and position - * included in previous CAM exceeds 4 m. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state" - * the IUT having sent a CAM at time TIME_1 - * containing cam - * containing camParameters - * containing basicContainer - * containing referencePosition set to POSITION_1 - * the IUT not having sent any CAM since T_GenCam_Dcc - * } - * Expected behaviour: - * ensure that { - * when { - * T_GenCam_Dcc expires - * and the IUT is alerted that distance(CurrentPosition – POSITION_1) > 4 m - * } - * then { - * the IUT sends a CAM immediately - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/GFQ/BV-05 - * @reference ETSI EN 302 637-2 v1.4.1, clause 6.1.3 - */ - testcase TC_CAM_MSD_GFQ_BV_05() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_GFQ_BV_05(); - - } // end TC_CAM_MSD_GFQ_BV_05 - - /** - * @desc Check that CAM is generated immediately when the time - * elapsed since the last CAM generation is equal or larger - * than T_GenCam_Dcc and the absolute difference between - * current speed and speed included in previous CAM - * exceeds 0,5 m/s. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state" - * the IUT having sent a CAM at time TIME_1 - * containing cam - * containing camParameters - * containing highFrequencyContainer - * containing basicVehicleContainerHighFrequency - * containing speed set to SPEED_1 - * the IUT not having sent any CAM since T_GenCam_Dcc - * } - * Expected behaviour: - * ensure that { - * when { - * T_GenCam_Dcc expires - * and the IUT is alerted that abs(CurrentSpeed – SPEED_1) > 0,5 m/s - * } - * then { - * the IUT sends a CAM immediately - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/GFQ/BV-06 - * @reference ETSI EN 302 637-2 v1.4.1, clause 6.1.3 - */ - testcase TC_CAM_MSD_GFQ_BV_06() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_GFQ_BV_06(); - - } // end TC_CAM_MSD_GFQ_BV_06 - - /** - * @desc Check that CAM is generated immediately when the time - * elapsed since the last CAM generation is equal or larger - * than T_GenCam and equal or larger than T_GenCam_Dcc. - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state" - * the IUT having sent a CAM - * } - * Expected behaviour: - * ensure that { - * when { - * T_GenCam expires - * and T_GenCam_Dcc expires - * } - * then { - * the IUT sends another CAM - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/GFQ/TI-07 - * @reference ETSI EN 302 637-2 v1.4.1, clause 6.1.3 - */ - testcase TC_CAM_MSD_GFQ_TI_07() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_GFQ_TI_07(); - - } // end TC_CAM_MSD_GFQ_TI_07 - - /** - * @desc Check that maximum CAM generation frequency for RSU ITS-S is 1Hz - * - *
- * Pics Selection: PICS_CAM_GENERATION AND PICS_RSU - * Initial conditions: - * with { - * the IUT being in the "initial state" - * } - * Expected behaviour: - * ensure that { - * when { - * IUT sends a CAM - * } - * then { - * the IUT does not send another CAM afterbefore 1s - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/GFQ/TI-08 - * @reference ETSI EN 302 637-2 v1.4.1, clause 6.1.4 - */ - testcase TC_CAM_MSD_GFQ_TI_08() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_GFQ_TI_08(); - - } // end TC_CAM_MSD_GFQ_TI_08 - - } // end group camGenerationFrequency - - group camLowerLayerParameters { - - /** - * @desc Check that CAM is encapsulated in BTP type B packet - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_IS_IUT_SECURED - * Initial conditions: - * with { - * the IUT being in the "initial state" - * } - * Expected behaviour: - * ensure that { - * when { - * a CAM is generated - * } - * then { - * the IUT sends a CAM - * encapsulated in a BTP-B packet - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/PAR/BV-01 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.3.4.1 - */ - testcase TC_CAM_MSD_PAR_BV_01() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_PAR_BV_01(); - - } // end TC_CAM_MSD_PAR_BV_01 - - /** - * @desc Check that CAM is encapsulated in SHB packet - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_IS_IUT_SECURED - * Initial conditions: - * with { - * the IUT being in the "initial state" - * } - * Expected behaviour: - * ensure that { - * when { - * a CAM is generated - * } - * then { - * the IUT sends a CAM - * encapsulated in a SHB packet - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/PAR/BV-02 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.3.4.1 - */ - testcase TC_CAM_MSD_PAR_BV_02() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_PAR_BV_02(); - - } // end TC_CAM_MSD_PAR_BV_02 - - /** - * @desc Check that CAM is encapsulated in GN packet with lifetime lower than 1s - *
- * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_IS_IUT_SECURED - * Initial conditions: - * with { - * the IUT being in the "initial state" - * } - * Expected behaviour: - * ensure that { - * when { - * a CAM is generated - * } - * then { - * the IUT sends a CAM - * encapsulated in a GN packet - * containing Basic Header - * containing Lifetime field - * indicating value lower than 1s - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/PAR/BV-03 - * @reference ETSI EN 302 637-2 v1.4.1, clause 5.3.4.1 - */ - testcase TC_CAM_MSD_PAR_BV_03() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_PAR_BV_03(); - - } // end TC_CAM_MSD_PAR_BV_03 - - } // end group camLowerLayerParameters - - group camGenerationSSP { - - /** - * @desc Check that the IUT does not send a CAM - * when its content is not permitted by signing certificate - *
- * Pics Selection: PICS_CAM_GENERATION AND PICS_IS_IUT_SECURED - * Initial conditions: - * with { - * the IUT being in the "initial state" - * the IUT is authorized to sign CAMs with the certificate - * containing CAM SSP - * indicating bit at position '1' set to 0 - * } - * Expected behaviour: - * ensure that { - * when { - * the IUT generates a CAM - * containing CenDsrcTollingZone - * } - * then { - * the IUT does not send this CAM - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/SSP/BO-01 - * @reference ETSI EN 302 637-2 v1.4.1, clause 6.2.2.1 - */ - testcase TC_CAM_MSD_SSP_BO_01() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_SSP_BO_01(); - - } // end TC_CAM_MSD_SSP_BO_01 - - /** - * @desc Check that the IUT does not send a CAM - * when its content is not permitted by signing certificate - *
- * Pics Selection: PICS_CAM_GENERATION AND PICS_IS_IUT_SECURED - * AND PICS_SPECIALVEHICLECONTAINER AND PICS_PUBLICTRANS - * Initial conditions: - * with { - * the IUT being in the "initial state" - * the IUT is authorized to sign CAMs with the certificate - * containing CAM SSP - * indicating bit at position '2' set to 0 - * } - * Expected behaviour: - * ensure that { - * when { - * the IUT generates a CAM - * containing publicTransportContainer - * } - * then { - * the IUT does not send this CAM - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/SSP/BO-02 - * @reference ETSI EN 302 637-2 v1.4.1, clause 6.2.2.1 - */ - testcase TC_CAM_MSD_SSP_BO_02() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_SSP_BO_02(); - - } // end TC_CAM_MSD_SSP_BO_02 - - /** - * @desc Check that the IUT does not send a CAM - * when its content is not permitted by signing certificate - *
- * Pics Selection: PICS_CAM_GENERATION AND PICS_IS_IUT_SECURED - * AND PICS_SPECIALVEHICLECONTAINER AND PICS_SPECIALTRANS - * Initial conditions: - * with { - * the IUT being in the "initial state" - * the IUT is authorized to sign CAMs with the certificate - * containing CAM SSP - * indicating bit at position '3' set to 0 - * } - * Expected behaviour: - * ensure that { - * when { - * the IUT generates a CAM - * containing specialTransportContainer - * } - * then { - * the IUT does not send this CAM - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSD/SSP/BO-03 - * @reference ETSI EN 302 637-2 v1.4.1, clause 6.2.2.1 - */ - testcase TC_CAM_MSD_SSP_BO_03() runs on ItsCam system ItsCamSystem { - - f_CAM_MSD_SSP_BO_03(); - - } // end TC_CAM_MSD_SSP_BO_03 - - } // end group camGenerationSSP - - } // end group camMessageDissemination - - group camMessageProcessing { - - /** - * @desc Check that content of received CAM is transmitted to - * applications and other facilities. - *
- * Pics Selection: PICS_CAM_RECEPTION - * Initial conditions: - * with { - * the IUT being in the "initial state" - * } - * Expected behaviour: - * ensure that { - * when { - * the IUT receives a valid CAM - * } - * then { - * the IUT forwards the CAM content to upper layers - * and the IUT forwards the CAM content to other facilities - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSP/BV-01 - * @reference ETSI EN 302 637-2 v1.4.1, clause 4.2.2 - */ - testcase TC_CAM_MSP_BV_01() runs on ItsCam system ItsCamSystem { - - f_CAM_MSP_BV_01(); - - } // end TC_CAM_MSP_BV_01 - - group camProcessingSSP { - /** - * @desc Check that IUT discards CAM if SSP value of the signing certificate - * is not consistent with the provided containers. - *
- * Pics Selection: PICS_CAM_RECEPTION AND PICS_IS_IUT_SECURED - * Initial conditions: - * with { - * the IUT being in the "initial state" - * } - * Expected behaviour: - * ensure that { - * when { - * the IUT receives a secured CAM - * containing CenDsrcTollingZone/ProtectedCommunicationZonesRSU - * signed with certificate - * containing CAM SSP bit at position 0 - * indicating 0 - * } - * then { - * the IUT discards the CAM - * and the IUT does not forward the CAM content to upper layers - * and the IUT does not forward the CAM content to other facilities - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSP/SSP/BV-01-01 - * @reference ETSI EN 302 637-2 v1.4.1, clause 6.2.2.1 - */ - testcase TC_CAM_MSP_SSP_BV_01() runs on ItsCam system ItsCamSystem { - - f_CAM_MSP_SSP_BV_01(); - - } // end TC_CAM_MSP_BV_01 - - /** - * @desc Check that IUT discards CAM if SSP value of the signing certificate - * is not consistent with the provided containers. - *
- * Pics Selection: PICS_CAM_RECEPTION AND PICS_IS_IUT_SECURED - * Initial conditions: - * with { - * the IUT being in the "initial state" - * } - * Expected behaviour: - * ensure that { - * when { - * the IUT receives a secured CAM - * containing publicTransportContainer - * and signed with certificate - * containing CAM SSP bit at position 1 - * indicating 0 - * } - * then { - * the IUT discards the CAM - * and the IUT does not forward the CAM content to upper layers - * and the IUT does not forward the CAM content to other facilities - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSP/SSP/BV-01-02 - * @reference ETSI EN 302 637-2 v1.4.1, clause 6.2.2.1 - */ - testcase TC_CAM_MSP_SSP_BV_02() runs on ItsCam system ItsCamSystem { - - f_CAM_MSP_SSP_BV_02(); - - } // end TC_CAM_MSP_BV_02 - - /** - * @desc Check that IUT discards CAM if SSP value of the signing certificate - * is not consistent with the provided containers. - *
- * Pics Selection: PICS_CAM_RECEPTION AND PICS_IS_IUT_SECURED - * Initial conditions: - * with { - * the IUT being in the "initial state" - * } - * Expected behaviour: - * ensure that { - * when { - * the IUT receives a secured CAM - * containing specialTransportContainer - * and signed with certificate - * containing CAM SSP bit at position 2 - * indicating 0 - * } - * then { - * the IUT discards the CAM - * and the IUT does not forward the CAM content to upper layers - * and the IUT does not forward the CAM content to other facilities - * } - * } - *- * - * @see ETSI TS 102 868-2 v1.5.1 TP/CAM/MSP/SSP/BV-01-03 - * @reference ETSI EN 302 637-2 v1.4.1, clause 6.2.2.1 - */ - testcase TC_CAM_MSP_SSP_BV_03() runs on ItsCam system ItsCamSystem { - - f_CAM_MSP_SSP_BV_03(); - - } // end TC_CAM_MSP_BV_03 - - }// end group camProcessingSSP - - } // end group camMessageProcessing - -} // end ItsCam_TestCases +/** + * @author ETSI / STF405 / STF449 / STF484 / STF517 / TTF T036 + * @version $Url: https://oldforge.etsi.org/svn/ITS/tags/20170222_STF527_Final/ttcn/AtsCAM/ItsCam_TestCases.ttcn $ + * $Id: ItsCam_TestCases.ttcn 2655 2017-01-26 10:46:08Z filatov $ + * @desc Testcases for CA Protocol + * @reference ETSI TS 103 900 v2.2.1 + * @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 ItsCam_TestCases { + + // LibItsCam + import from LibItsCam_TestSystem all; + + // Ats Its + import from ItsCam_TpFunctions all; + + // 5.2.1 + group camMessageDissemination { + + group camMessageFormat { + + /** + * @desc Check that protocolVersion is set to 2 and messageID is + * set to 2. + *
+ * Pics Selection: PICS_CAM_GENERATION + * Initial conditions: + * with { + * the IUT being in the "initial state" + * } + * Expected behaviour: + * ensure that { + * when { + * a CAM is generated + * } + * then { + * the IUT sends a valid CAM + * containing ITS PDU header + * containing protocolVersion + * indicating value 2 + * and containing messageID + * indicating value 2 + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/FMT/BV-01 + * @reference ETSI TS 103 900 v2.2.1, Annex B + */ + testcase TC_CAM_MSD_FMT_BV_01() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_FMT_BV_01(); + + } // End of TC_CAM_MSD_FMT_BV_01 + + /** + * @desc Check that LF container is included in 1st CAM since CA + * basic service activation. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state" + * and the IUT has not sent any CAM yet + * } + * Expected behaviour: + * ensure that { + * when { + * a CAM is generated + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing lowFrequencyContainer + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/FMT/BV-02 + * @reference ETSI TS 103 900 v2.2.1, clause 6.1.3 + */ + testcase TC_CAM_MSD_FMT_BV_02() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_FMT_BV_02(); + + } // End of TC_CAM_MSD_FMT_BV_02 + + /** + * @desc Check that LF container is included if time elapsed since + * the generation of the last CAM with the low frequency + * container generation is equal or larger than 500 ms. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state" + * and the IUT has sent a CAM + * containing cam + * containing camParameters + * containing lowFrequencyContainer at time TIME_1 + * and the IUT has not sent CAM + * containing cam + * containing camParameters + * containing lowFrequencyContainer after TIME_1 + * } + * Expected behaviour: + * ensure that { + * when { + * a CAM is generated at time TIME_2 >= (TIME_1 + 500ms) + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing lowFrequencyContainer + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/FMT/BV-03 + * @reference ETSI TS 103 900 v2.2.1, clause 6.1.3 + */ + testcase TC_CAM_MSD_FMT_BV_03() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_FMT_BV_03(); + + } // End of TC_CAM_MSD_FMT_BV_03 + + /** + * @desc Check that specialVehicle container is included in 1st CAM + * since CA basic service activation. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU AND (PICS_PUBLICTRANS OR PICS_SPECIALTRANS OR PICS_DANGEROUSGOODS OR PICS_ROADWORKS OR PICS_RESCUE OR PICS_EMERGENCY OR PICS_SAFETYCAR) + * Initial conditions: + * with { + * the IUT being in the "initial state" + * and the IUT is configured to advertise itself as a special vehicle + * and the IUT has not sent any CAM yet + * } + * Expected behaviour: + * ensure that { + * when { + * a CAM is generated + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing specialVehicleContainer + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/FMT/BV-04 + * @reference ETSI TS 103 900 v2.2.1, clause 6.1.3 + */ + testcase TC_CAM_MSD_FMT_BV_04() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_FMT_BV_04(); + + } // End of TC_CAM_MSD_FMT_BV_04 + + /** + * @desc Check that specialVehicle container is included if time + * elapsed since the generation of the last CAM with the + * special vehicle container generation is equal or larger + * than 500 ms. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU AND (PICS_PUBLICTRANS OR PICS_SPECIALTRANS OR PICS_DANGEROUSGOODS OR PICS_ROADWORKS OR PICS_RESCUE OR PICS_EMERGENCY OR PICS_SAFETYCAR) + * Initial conditions: + * with { + * the IUT being in the "initial state" + * and the IUT has sent a CAM + * containing cam + * containing camParameters + * containing specialVehicleContainer at time TIME_1 + * and the IUT has not sent CAM + * containing cam + * containing camParameters + * containing specialVehicleContainer after TIME_1 + * } + * Expected behaviour: + * ensure that { + * when { + * a CAM is generated at time TIME_2 >= (TIME_1 + 500ms) + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing specialVehicleContainer + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/FMT/BV-05 + * @reference ETSI TS 103 900 v2.2.1, clause 6.1.3 + */ + testcase TC_CAM_MSD_FMT_BV_05() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_FMT_BV_05(); + + } // End of TC_CAM_MSD_FMT_BV_05 + + /** + * @desc Check that VeryLowFrequency container is included in the second CAM since CA basic service activation. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU AND PIC_RELEASE2 AND PICS_EXTENSIONSCONTAINER + * Initial conditions: + * with { + * the IUT being in the "initial state" + * and the IUT has not sent yet + * } + * Expected behaviour: + * ensure that { + * when { + * a CAM is generated + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing extendedContainer + * containing containerId + * indicating value 3 + * and containing veryLowFrequencyContainer + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/FMT/BV-06 + * @reference ETSI TS 103 900 v2.2.1, clause 6.1.3 + */ + testcase TC_CAM_MSD_FMT_BV_06() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_FMT_BV_06(); + + } // End of TC_CAM_MSD_FMT_BV_06 + + /** + * @desc Check that veryLowFrequency container is included if time + * elapsed since the generation of the last CAM with the + * veryLowFrequency container generation is equal to or greater than 10 seconds + * and if the low frequency and the special vehicle container are not included. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU AND PIC_RELEASE2 AND PICS_EXTENSIONSCONTAINER + * Initial conditions: + * with { + * the IUT being in the "initial state" + * and the IUT has sent a CAM + * containing cam + * containing camParameters + * containing veryLowFrequencyContainer at time TIME_1 + * and the IUT prepares a CAM at time TIME_2 >= (TIME_1 + 10s) + * containing cam + * not containing the lowFrequencyContainer + * and not containing the specialVehicleContainer + * } + * Expected behaviour: + * ensure that { + * when { + * a CAM is generated at time TIME_2 >= (TIME_1 + 10s) + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * not containing specialVehicleContainer + * and not containing lowFrequencyContainer + * and containing extendedContainer + * containing containerId + * indicating value 3 + * and containing veryLowFrequencyContainer + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/FMT/BV-07 + * @reference ETSI TS 103 900 v2.2.1, clause 6.1.3 + */ + testcase TC_CAM_MSD_FMT_BV_07() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_FMT_BV_07(); + + } // End of TC_CAM_MSD_FMT_BV_07 + + /** + * @desc Check that TwoWheeler container is included in the first CAM since CA basic service activation + * if the IUT Station type is one of cyclist, moped or motorcycles. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU AND PIC_RELEASE2 AND PICS_EXTENSIONSCONTAINER + * Initial conditions: + * with { + * the IUT being in the "initial state" + * the IUT StationType is IUT_STATION_TYPE + * and the IUT has not sent yet + * } + * Expected behaviour: + * ensure that { + * when { + * a CAM is generated + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing extendedContainer + * containing containerId + * indicating value 1 + * and containing twoWheelerContainer + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/FMT/BV-08 + * @reference ETSI TS 103 900 v2.2.1, clause 6.1.3 + */ + testcase TC_CAM_MSD_FMT_BV_08() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_FMT_BV_08(); + + } // End of TC_CAM_MSD_FMT_BV_08 + + /** + * @desc Check that TwoWheeler container is included in a CA Message + * if the IUT Station type is one of cyclist, moped or motorcycles. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU AND PIC_RELEASE2 AND PICS_EXTENSIONSCONTAINER + * Initial conditions: + * with { + * the IUT being in the "initial state" + * the IUT StationType is IUT_STATION_TYPE + * and a CAM is generated + * } + * Expected behaviour: + * ensure that { + * when { + * a CAM is generated + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing extendedContainer + * containing containerId + * indicating value 1 + * and containing twoWheelerContainer + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/FMT/BV-09 + * @reference ETSI TS 103 900 v2.2.1, clause 6.1.3 + */ + testcase TC_CAM_MSD_FMT_BV_09() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_FMT_BV_09(); + + } // End of TC_CAM_MSD_FMT_BV_09 + + } // End of group camMessageFormat + + group camInformationAdaptation { + + group camInVehicleData { + + /** + * @desc Check that latest value of in-vehicle data is included + * in CAM. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state + * } + * INFO: Curvature value + * FIELD: highFrequencyContainer + * .basicVehicleContainerHighFrequency + * .curvature + * VALUE: measured value + * + * Expected behaviour: + * ensure that { + * when { + * the IUT is alerted about INFO + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing FIELD set to VALUE + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-01 + * @reference ETSI TS 103 900 v2.2.1, clause 5.2 and clause 7.1 + */ + testcase TC_CAM_MSD_INA_BV_01_01() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_01_01(); + + } // End of TC_CAM_MSD_INA_BV_01_01 + + /** + * @desc Check that latest value of in-vehicle data is included + * in CAM. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state + * } + * INFO: Brake pedal being activated + * FIELD: highFrequencyContainer + * .basicVehicleContainerHighFrequency + * .accelerationControl + * .brakePedalActive + * VALUE: 1 + * + * Expected behaviour: + * ensure that { + * when { + * the IUT is alerted about INFO + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing FIELD set to VALUE + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-01-02 + * @reference ETSI TS 103 900 v2.2.1, clause 5.2 and clause 7.1 + */ + testcase TC_CAM_MSD_INA_BV_01_02() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_01_02(); + + } // End of TC_CAM_MSD_INA_BV_01_02 + + /** + * @desc Check that latest value of in-vehicle data is included + * in CAM. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state + * } + * INFO: Brake pedal being deactivated + * FIELD: highFrequencyContainer + * .basicVehicleContainerHighFrequency + * .accelerationControl + * .brakePedalActive + * VALUE: 0 + * + * Expected behaviour: + * ensure that { + * when { + * the IUT is alerted about INFO + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing FIELD set to VALUE + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-01-03 + * @reference ETSI TS 103 900 v2.2.1, clause 5.2 and clause 7.1 + */ + testcase TC_CAM_MSD_INA_BV_01_03() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_01_03(); + + } // End of TC_CAM_MSD_INA_BV_01_03 + + /** + * @desc Check that latest value of in-vehicle data is included + * in CAM. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state + * } + * INFO: Gas pedal being activated + * FIELD: highFrequencyContainer + * .basicVehicleContainerHighFrequency + * .accelerationControl + * .gasPedalActive + * VALUE: 1 + * + * Expected behaviour: + * ensure that { + * when { + * the IUT is alerted about INFO + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing FIELD set to VALUE + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-01-04 + * @reference ETSI TS 103 900 v2.2.1, clause 5.2 and clause 7.1 + */ + testcase TC_CAM_MSD_INA_BV_01_04() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_01_04(); + + } // End of TC_CAM_MSD_INA_BV_01_04 + + /** + * @desc Check that latest value of in-vehicle data is included + * in CAM. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state + * } + * INFO: Gas pedal being deactivated + * FIELD: highFrequencyContainer + * .basicVehicleContainerHighFrequency + * .accelerationControl + * .gasPedalActive + * VALUE: 0 + * + * Expected behaviour: + * ensure that { + * when { + * the IUT is alerted about INFO + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing FIELD set to VALUE + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-01-05 + * @reference ETSI TS 103 900 v2.2.1, clause 5.2 and clause 7.1 + */ + testcase TC_CAM_MSD_INA_BV_01_05() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_01_05(); + + } // End of TC_CAM_MSD_INA_BV_01_05 + + /** + * @desc Check that latest value of in-vehicle data is included + * in CAM. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state + * } + * INFO: Emergency brake being activated + * FIELD: highFrequencyContainer + * .basicVehicleContainerHighFrequency + * .accelerationControl + * .emergencyBrakeActive + * VALUE: 1 + * + * Expected behaviour: + * ensure that { + * when { + * the IUT is alerted about INFO + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing FIELD set to VALUE + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-01-06 + * @reference ETSI TS 103 900 v2.2.1, clause 5.2 and clause 7.1 + */ + testcase TC_CAM_MSD_INA_BV_01_06() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_01_06(); + + } // End of TC_CAM_MSD_INA_BV_01_06 + + /** + * @desc Check that latest value of in-vehicle data is included + * in CAM. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state + * } + * INFO: Emergency brake being deactivated + * FIELD: highFrequencyContainer + * .basicVehicleContainerHighFrequency + * .accelerationControl + * .emergencyBrakeActive + * VALUE: 0 + * + * Expected behaviour: + * ensure that { + * when { + * the IUT is alerted about INFO + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing FIELD set to VALUE + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-01-07 + * @reference ETSI TS 103 900 v2.2.1, clause 5.2 and clause 7.1 + */ + testcase TC_CAM_MSD_INA_BV_01_07() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_01_07(); + + } // End of TC_CAM_MSD_INA_BV_01_07 + + /** + * @desc Check that latest value of in-vehicle data is included + * in CAM. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state + * } + * INFO: Collision warning being activated + * FIELD: highFrequencyContainer + * .basicVehicleContainerHighFrequency + * .accelerationControl + * .collisionWarningActive + * VALUE: 1 + * + * Expected behaviour: + * ensure that { + * when { + * the IUT is alerted about INFO + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing FIELD set to VALUE + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-01-08 + * @reference ETSI TS 103 900 v2.2.1, clause 5.2 and clause 7.1 + */ + testcase TC_CAM_MSD_INA_BV_01_08() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_01_08(); + + } // End of TC_CAM_MSD_INA_BV_01_08 + + /** + * @desc Check that latest value of in-vehicle data is included + * in CAM. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state + * } + * INFO: Collision warning being deactivated + * FIELD: highFrequencyContainer + * .basicVehicleContainerHighFrequency + * .accelerationControl + * .collisionWarningActive + * VALUE: 0 + * + * Expected behaviour: + * ensure that { + * when { + * the IUT is alerted about INFO + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing FIELD set to VALUE + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-01-09 + * @reference ETSI TS 103 900 v2.2.1, clause 5.2 and clause 7.1 + */ + testcase TC_CAM_MSD_INA_BV_01_09() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_01_09(); + + } // End of TC_CAM_MSD_INA_BV_01_09 + + /** + * @desc Check that latest value of in-vehicle data is included + * in CAM. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state + * } + * INFO: ACC being activated + * FIELD: highFrequencyContainer + * .basicVehicleContainerHighFrequency + * .accelerationControl + * .accActive + * VALUE: 1 + * + * Expected behaviour: + * ensure that { + * when { + * the IUT is alerted about INFO + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing FIELD set to VALUE + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-01-10 + * @reference ETSI TS 103 900 v2.2.1, clause 5.2 and clause 7.1 + */ + testcase TC_CAM_MSD_INA_BV_01_10() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_01_10(); + + } // End of TC_CAM_MSD_INA_BV_01_10 + + /** + * @desc Check that latest value of in-vehicle data is included + * in CAM. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state + * } + * INFO: ACC being deactivated + * FIELD: highFrequencyContainer + * .basicVehicleContainerHighFrequency + * .accelerationControl + * .accActive + * VALUE: 0 + * + * Expected behaviour: + * ensure that { + * when { + * the IUT is alerted about INFO + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing FIELD set to VALUE + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-01-11 + * @reference ETSI TS 103 900 v2.2.1, clause 5.2 and clause 7.1 + */ + testcase TC_CAM_MSD_INA_BV_01_11() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_01_11(); + + } // End of TC_CAM_MSD_INA_BV_01_11 + + /** + * @desc Check that latest value of in-vehicle data is included + * in CAM. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state + * } + * INFO: Cruise control being activated + * FIELD: highFrequencyContainer + * .basicVehicleContainerHighFrequency + * .accelerationControl + * .cruiseControl + * VALUE: 1 + * + * Expected behaviour: + * ensure that { + * when { + * the IUT is alerted about INFO + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing FIELD set to VALUE + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-01-12 + * @reference ETSI TS 103 900 v2.2.1, clause 5.2 and clause 7.1 + */ + testcase TC_CAM_MSD_INA_BV_01_12() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_01_12(); + + } // End of TC_CAM_MSD_INA_BV_01_12 + + /** + * @desc Check that latest value of in-vehicle data is included + * in CAM. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state + * } + * INFO: Cruise control being deactivated + * FIELD: highFrequencyContainer + * .basicVehicleContainerHighFrequency + * .accelerationControl + * .cruiseControl + * VALUE: 0 + * + * Expected behaviour: + * ensure that { + * when { + * the IUT is alerted about INFO + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing FIELD set to VALUE + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-01-13 + * @reference ETSI TS 103 900 v2.2.1, clause 5.2 and clause 7.1 + */ + testcase TC_CAM_MSD_INA_BV_01_13() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_01_13(); + + } // End of TC_CAM_MSD_INA_BV_01_13 + + /** + * @desc Check that latest value of in-vehicle data is included + * in CAM. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state + * } + * INFO: Speed limiter being activated + * FIELD: highFrequencyContainer + * .basicVehicleContainerHighFrequency + * .accelerationControl + * .speedLimiterActive + * VALUE: 1 + * + * Expected behaviour: + * ensure that { + * when { + * the IUT is alerted about INFO + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing FIELD set to VALUE + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-01-14 + * @reference ETSI TS 103 900 v2.2.1, clause 5.2 and clause 7.1 + */ + testcase TC_CAM_MSD_INA_BV_01_14() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_01_14(); + + } // End of TC_CAM_MSD_INA_BV_01_14 + + /** + * @desc Check that latest value of in-vehicle data is included + * in CAM. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state + * } + * INFO: Speed limiter control being deactivated + * FIELD: highFrequencyContainer + * .basicVehicleContainerHighFrequency + * .accelerationControl + * .speedLimiterActive + * VALUE: 0 + * + * Expected behaviour: + * ensure that { + * when { + * the IUT is alerted about INFO + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing FIELD set to VALUE + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-01-15 + * @reference ETSI TS 103 900 v2.2.1, clause 5.2 and clause 7.1 + */ + testcase TC_CAM_MSD_INA_BV_01_15() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_01_15(); + + } // End of TC_CAM_MSD_INA_BV_01_15 + + /** + * @desc Check that latest value of in-vehicle data is included + * in CAM. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state + * } + * INFO: Low beam headlights being activated + * FIELD: lowFrequencyContainer + * .basicVehicleContainerLowFrequency + * .exteriorLights + * .lowBeamHeadlightsOn + * VALUE: 1 + * + * Expected behaviour: + * ensure that { + * when { + * the IUT is alerted about INFO + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing FIELD set to VALUE + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-01-16 + * @reference ETSI TS 103 900 v2.2.1, clause 5.2 and clause 7.1 + */ + testcase TC_CAM_MSD_INA_BV_01_16() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_01_16(); + + } // End of TC_CAM_MSD_INA_BV_01_16 + + /** + * @desc Check that latest value of in-vehicle data is included + * in CAM. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state + * } + * INFO: Low beam headlights being deactivated + * FIELD: lowFrequencyContainer + * .basicVehicleContainerLowFrequency + * .exteriorLights + * .lowBeamHeadlightsOn + * VALUE: 0 + * + * Expected behaviour: + * ensure that { + * when { + * the IUT is alerted about INFO + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing FIELD set to VALUE + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-01-17 + * @reference ETSI TS 103 900 v2.2.1, clause 5.2 and clause 7.1 + */ + testcase TC_CAM_MSD_INA_BV_01_17() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_01_17(); + + } // End of TC_CAM_MSD_INA_BV_01_17 + + /** + * @desc Check that latest value of in-vehicle data is included + * in CAM. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state + * } + * INFO: High beam headlights being activated + * FIELD: lowFrequencyContainer + * .basicVehicleContainerLowFrequency + * .exteriorLights + * .highBeamHeadlightsOn + * VALUE: 1 + * + * Expected behaviour: + * ensure that { + * when { + * the IUT is alerted about INFO + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing FIELD set to VALUE + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-01-18 + * @reference ETSI TS 103 900 v2.2.1, clause 5.2 and clause 7.1 + */ + testcase TC_CAM_MSD_INA_BV_01_18() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_01_18(); + + } // End of TC_CAM_MSD_INA_BV_01_18 + + /** + * @desc Check that latest value of in-vehicle data is included + * in CAM. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state + * } + * INFO: High beam headlights being deactivated + * FIELD: lowFrequencyContainer + * .basicVehicleContainerLowFrequency + * .exteriorLights + * .highBeamHeadlightsOn + * VALUE: 0 + * + * Expected behaviour: + * ensure that { + * when { + * the IUT is alerted about INFO + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing FIELD set to VALUE + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-01-19 + * @reference ETSI TS 103 900 v2.2.1, clause 5.2 and clause 7.1 + */ + testcase TC_CAM_MSD_INA_BV_01_19() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_01_19(); + + } // End of TC_CAM_MSD_INA_BV_01_19 + + /** + * @desc Check that latest value of in-vehicle data is included + * in CAM. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state + * } + * INFO: Left turn signal being activated + * FIELD: lowFrequencyContainer + * .basicVehicleContainerLowFrequency + * .exteriorLights + * .leftTurnSignalOn + * VALUE: 1 + * + * Expected behaviour: + * ensure that { + * when { + * the IUT is alerted about INFO + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing FIELD set to VALUE + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-01-20 + * @reference ETSI TS 103 900 v2.2.1, clause 5.2 and clause 7.1 + */ + testcase TC_CAM_MSD_INA_BV_01_20() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_01_20(); + + } // End of TC_CAM_MSD_INA_BV_01_20 + + /** + * @desc Check that latest value of in-vehicle data is included + * in CAM. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state + * } + * INFO: Left turn signal being deactivated + * FIELD: lowFrequencyContainer + * .basicVehicleContainerLowFrequency + * .exteriorLights + * .leftTurnSignalOn + * VALUE: 0 + * + * Expected behaviour: + * ensure that { + * when { + * the IUT is alerted about INFO + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing FIELD set to VALUE + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-01-21 + * @reference ETSI TS 103 900 v2.2.1, clause 5.2 and clause 7.1 + */ + testcase TC_CAM_MSD_INA_BV_01_21() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_01_21(); + + } // End of TC_CAM_MSD_INA_BV_01_21 + + /** + * @desc Check that latest value of in-vehicle data is included + * in CAM. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state + * } + * INFO: Right turn signal being activated + * FIELD: lowFrequencyContainer + * .basicVehicleContainerLowFrequency + * .exteriorLights + * .rightTurnSignalOn + * VALUE: 1 + * + * Expected behaviour: + * ensure that { + * when { + * the IUT is alerted about INFO + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing FIELD set to VALUE + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-01-22 + * @reference ETSI TS 103 900 v2.2.1, clause 5.2 and clause 7.1 + */ + testcase TC_CAM_MSD_INA_BV_01_22() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_01_22(); + + } // End of TC_CAM_MSD_INA_BV_01_22 + + /** + * @desc Check that latest value of in-vehicle data is included + * in CAM. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state + * } + * INFO: Right turn signal being deactivated + * FIELD: lowFrequencyContainer + * .basicVehicleContainerLowFrequency + * .exteriorLights + * .rightTurnSignalOn + * VALUE: 0 + * + * Expected behaviour: + * ensure that { + * when { + * the IUT is alerted about INFO + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing FIELD set to VALUE + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-01-23 + * @reference ETSI TS 103 900 v2.2.1, clause 5.2 and clause 7.1 + */ + testcase TC_CAM_MSD_INA_BV_01_23() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_01_23(); + + } // End of TC_CAM_MSD_INA_BV_01_23 + + /** + * @desc Check that latest value of in-vehicle data is included + * in CAM. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state + * } + * INFO: Daytime running lights being activated + * FIELD: lowFrequencyContainer + * .basicVehicleContainerLowFrequency + * .exteriorLights + * .daytimeRunningLightsOn + * VALUE: 1 + * + * Expected behaviour: + * ensure that { + * when { + * the IUT is alerted about INFO + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing FIELD set to VALUE + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-01-24 + * @reference ETSI TS 103 900 v2.2.1, clause 5.2 and clause 7.1 + */ + testcase TC_CAM_MSD_INA_BV_01_24() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_01_24(); + + } // End of TC_CAM_MSD_INA_BV_01_24 + + /** + * @desc Check that latest value of in-vehicle data is included + * in CAM. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state + * } + * INFO: Daytime running lights being deactivated + * FIELD: lowFrequencyContainer + * .basicVehicleContainerLowFrequency + * .exteriorLights + * .daytimeRunningLightsOn + * VALUE: 0 + * + * Expected behaviour: + * ensure that { + * when { + * the IUT is alerted about INFO + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing FIELD set to VALUE + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-01-25 + * @reference ETSI TS 103 900 v2.2.1, clause 5.2 and clause 7.1 + */ + testcase TC_CAM_MSD_INA_BV_01_25() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_01_25(); + + } // End of TC_CAM_MSD_INA_BV_01_25 + + /** + * @desc Check that latest value of in-vehicle data is included + * in CAM. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state + * } + * INFO: Reverse light being activated + * FIELD: lowFrequencyContainer + * .basicVehicleContainerLowFrequency + * .exteriorLights + * .reverseLightOn + * VALUE: 1 + * + * Expected behaviour: + * ensure that { + * when { + * the IUT is alerted about INFO + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing FIELD set to VALUE + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-01-26 + * @reference ETSI TS 103 900 v2.2.1, clause 5.2 and clause 7.1 + */ + testcase TC_CAM_MSD_INA_BV_01_26() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_01_26(); + + } // End of TC_CAM_MSD_INA_BV_01_26 + + /** + * @desc Check that latest value of in-vehicle data is included + * in CAM. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state + * } + * INFO: Reverse light being deactivated + * FIELD: lowFrequencyContainer + * .basicVehicleContainerLowFrequency + * .exteriorLights + * .reverseLightOn + * VALUE: 0 + * + * Expected behaviour: + * ensure that { + * when { + * the IUT is alerted about INFO + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing FIELD set to VALUE + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-01-27 + * @reference ETSI TS 103 900 v2.2.1, clause 5.2 and clause 7.1 + */ + testcase TC_CAM_MSD_INA_BV_01_27() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_01_27(); + + } // End of TC_CAM_MSD_INA_BV_01_27 + + /** + * @desc Check that latest value of in-vehicle data is included + * in CAM. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state + * } + * INFO: Fog lights being activated + * FIELD: lowFrequencyContainer + * .basicVehicleContainerLowFrequency + * .exteriorLights + * .fogLightOn + * VALUE: 1 + * + * Expected behaviour: + * ensure that { + * when { + * the IUT is alerted about INFO + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing FIELD set to VALUE + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-01-28 + * @reference ETSI TS 103 900 v2.2.1, clause 5.2 and clause 7.1 + */ + testcase TC_CAM_MSD_INA_BV_01_28() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_01_28(); + + } // End of TC_CAM_MSD_INA_BV_01_28 + + /** + * @desc Check that latest value of in-vehicle data is included + * in CAM. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state + * } + * INFO: Fog lights being deactivated + * FIELD: lowFrequencyContainer + * .basicVehicleContainerLowFrequency + * .exteriorLights + * .fogLightOn + * VALUE: 0 + * + * Expected behaviour: + * ensure that { + * when { + * the IUT is alerted about INFO + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing FIELD set to VALUE + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-01-29 + * @reference ETSI TS 103 900 v2.2.1, clause 5.2 and clause 7.1 + */ + testcase TC_CAM_MSD_INA_BV_01_29() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_01_29(); + + } // End of TC_CAM_MSD_INA_BV_01_29 + + /** + * @desc Check that latest value of in-vehicle data is included + * in CAM. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state + * } + * INFO: Parking lights being activated + * FIELD: lowFrequencyContainer + * .basicVehicleContainerLowFrequency + * .exteriorLights + * .parkingLightsOn + * VALUE: 1 + * + * Expected behaviour: + * ensure that { + * when { + * the IUT is alerted about INFO + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing FIELD set to VALUE + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-01-30 + * @reference ETSI TS 103 900 v2.2.1, clause 5.2 and clause 7.1 + */ + testcase TC_CAM_MSD_INA_BV_01_30() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_01_30(); + + } // End of TC_CAM_MSD_INA_BV_01_30 + + /** + * @desc Check that latest value of in-vehicle data is included + * in CAM. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state + * } + * INFO: Parking lights being deactivated + * FIELD: lowFrequencyContainer + * .basicVehicleContainerLowFrequency + * .exteriorLights + * .parkingLightsOn + * VALUE: 0 + * + * Expected behaviour: + * ensure that { + * when { + * the IUT is alerted about INFO + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing FIELD set to VALUE + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-01-31 + * @reference ETSI TS 103 900 v2.2.1, clause 5.2 and clause 7.1 + */ + testcase TC_CAM_MSD_INA_BV_01_31() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_01_31(); + + } // End of TC_CAM_MSD_INA_BV_01_31 + + /** + * @desc Check that latest value of in-vehicle data is included + * in CAM. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state + * } + * INFO: Heading value + * FIELD: highFrequencyContainer + * .basicVehicleContainerHighFrequency + * .heading + * VALUE: measured value + * + * Expected behaviour: + * ensure that { + * when { + * the IUT is alerted about INFO + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing FIELD set to VALUE + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-01-32 + * @reference ETSI TS 103 900 v2.2.1, clause 5.2 and clause 7.1 + */ + testcase TC_CAM_MSD_INA_BV_01_32() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_01_32(); + + } // End of TC_CAM_MSD_INA_BV_01_32 + + /** + * @desc Check that latest value of in-vehicle data is included + * in CAM. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state + * } + * INFO: Speed value + * FIELD: highFrequencyContainer + * .basicVehicleContainerHighFrequency + * .speed + * VALUE: measured value + * + * Expected behaviour: + * ensure that { + * when { + * the IUT is alerted about INFO + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing FIELD set to VALUE + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-01-33 + * @reference ETSI TS 103 900 v2.2.1, clause 5.2 and clause 7.1 + */ + testcase TC_CAM_MSD_INA_BV_01_33() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_01_33(); + + } // End of TC_CAM_MSD_INA_BV_01_33 + + /** + * @desc Check that latest value of in-vehicle data is included + * in CAM. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state + * } + * INFO: Drive direction value + * FIELD: highFrequencyContainer + * .basicVehicleContainerHighFrequency + * .driveDirection + * VALUE: measured value + * + * Expected behaviour: + * ensure that { + * when { + * the IUT is alerted about INFO + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing FIELD set to VALUE + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-01-34 + * @reference ETSI TS 103 900 v2.2.1, clause 5.2 and clause 7.1 + */ + testcase TC_CAM_MSD_INA_BV_01_34() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_01_34(); + + } // End of TC_CAM_MSD_INA_BV_01_34 + + /** + * @desc Check that latest value of in-vehicle data is included + * in CAM. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state + * } + * INFO: Yaw rate value + * FIELD: highFrequencyContainer + * .basicVehicleContainerHighFrequency + * .yawRate + * VALUE: measured value + * + * Expected behaviour: + * ensure that { + * when { + * the IUT is alerted about INFO + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing FIELD set to VALUE + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-01-35 + * @reference ETSI TS 103 900 v2.2.1, clause 5.2 and clause 7.1 + */ + testcase TC_CAM_MSD_INA_BV_01_35() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_01_35(); + + } // End of TC_CAM_MSD_INA_BV_01_35 + + } // End of group camInVehicleData + + /** + * @desc Check that publicTransportContainer is included if + * vehicleRole is set to publicTransport(1). + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU AND PICS_PUBLICTRANS + * Initial conditions: + * with { + * the IUT being in the "initial state" + * the IUT’s vehicle role being set to publicTransport(1) + * } + * Expected behaviour: + * ensure that { + * when { + * a CAM is generated + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing specialVehicleContainer + * containing publicTransportContainer + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-02 + * @reference ETSI TS 103 900 v2.2.1, Annex B + */ + testcase TC_CAM_MSD_INA_BV_02() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_02(); + + } // End of TC_CAM_MSD_INA_BV_02 + + /** + * @desc Check that specialTransportContainer is included if + * vehicleRole is set to specialTransport(2). + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU AND PICS_SPECIALTRANS + * Initial conditions: + * with { + * the IUT being in the "initial state" + * the IUT’s vehicle role being set to specialTransport(2) + * } + * Expected behaviour: + * ensure that { + * when { + * a CAM is generated + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing specialVehicleContainer + * containing specialTransportContainer + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-03 + * @reference ETSI TS 103 900 v2.2.1, Annex B.12 + */ + testcase TC_CAM_MSD_INA_BV_03() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_03(); + + } // End of TC_CAM_MSD_INA_BV_03 + + /** + * @desc Check that dangerousGoodsContainer is included if + * vehicleRole is set to dangerousGoods(3). + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU AND PICS_DANGEROUSGOODS + * Initial conditions: + * with { + * the IUT being in the "initial state" + * the IUT’s vehicle role being set to dangerousGoods(3) + * } + * Expected behaviour: + * ensure that { + * when { + * a CAM is generated + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing specialVehicleContainer + * containing dangerousGoodsContainer + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-04 + * @reference ETSI TS 103 900 v2.2.1, Annex B.13 + */ + testcase TC_CAM_MSD_INA_BV_04() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_04(); + + } // End of TC_CAM_MSD_INA_BV_04 + + /** + * @desc Check that roadWorksContainerBasic is included if + * vehicleRole is set to roadWork(4). + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU AND PICS_ROADWORKS + * Initial conditions: + * with { + * the IUT being in the "initial state" + * the IUT’s vehicle role being set to roadWork(4) + * } + * Expected behaviour: + * ensure that { + * when { + * a CAM is generated + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing specialVehicleContainer + * containing roadWorksContainerBasic + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-05 + * @reference ETSI TS 103 900 v2.2.1, Annex B.14 + */ + testcase TC_CAM_MSD_INA_BV_05() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_05(); + + } // End of TC_CAM_MSD_INA_BV_05 + + /** + * @desc Check that rescueContainer is included if vehicleRole is + * set to rescue(5). + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU AND PICS_RESCUE + * Initial conditions: + * with { + * the IUT being in the "initial state" + * the IUT’s vehicle role being set to rescue(5) + * } + * Expected behaviour: + * ensure that { + * when { + * a CAM is generated + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing specialVehicleContainer + * containing rescueContainer + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-06 + * @reference ETSI TS 103 900 v2.2.1, Annex B.15 + */ + testcase TC_CAM_MSD_INA_BV_06() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_06(); + + } // End of TC_CAM_MSD_INA_BV_06 + + /** + * @desc Check that emergencyContainer is included if vehicleRole + * is set to emergency(6). + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU AND PICS_EMERGENCY + * Initial conditions: + * with { + * the IUT being in the "initial state" + * the IUT’s vehicle role being set to emergency(6) + * } + * Expected behaviour: + * ensure that { + * when { + * a CAM is generated + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing specialVehicleContainer + * containing emergencyContainer + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-07 + * @reference ETSI TS 103 900 v2.2.1, Annex B.16 + */ + testcase TC_CAM_MSD_INA_BV_07() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_07(); + + } // End of TC_CAM_MSD_INA_BV_07 + + /** + * @desc Check that safetyCarContainer is included if vehicleRole + * is set to safetyCar(7). + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU AND PICS_SAFETY_CAR + * Initial conditions: + * with { + * the IUT being in the "initial state" + * the IUT’s vehicle role being set to safetyCar(7) + * } + * Expected behaviour: + * ensure that { + * when { + * a CAM is generated + * } + * then { + * the IUT sends a valid CAM + * containing cam + * containing camParameters + * containing specialVehicleContainer + * containing safetyCarContainer + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/INA/BV-08 + * @reference ETSI TS 103 900 v2.2.1, Annex B.17 + */ + testcase TC_CAM_MSD_INA_BV_08() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_INA_BV_08(); + + } // End of TC_CAM_MSD_INA_BV_08 + + } // End of group camInformationAdaptation + + group camGenerationFrequency { + + /** + * @desc Check that CAMs are not generated more frequently than + * T_GenCamMin. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state" + * } + * Expected behaviour: + * ensure that { + * when { + * IUT sends a CAM + * } + * then { + * the IUT does not send any CAM before expiry of T_GenCamMin + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/GFQ/TI-01 + * @reference ETSI TS 103 900 v2.2.1, clause 6.1.3 + */ + testcase TC_CAM_MSD_GFQ_TI_01() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_GFQ_TI_01(); + + } // End of TC_CAM_MSD_GFQ_TI_01 + + /** + * @desc Check that CAMs are not generated less frequently than + * T_GenCamMax. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state" + * } + * Expected behaviour: + * ensure that { + * when { + * IUT sends a CAM + * } + * then { + * the IUT sends another CAM before expiry of T_GenCamMax + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/GFQ/TI-02 + * @reference ETSI TS 103 900 v2.2.1, clause 6.1.3 + */ + testcase TC_CAM_MSD_GFQ_TI_02() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_GFQ_TI_02(); + + } // End of TC_CAM_MSD_GFQ_TI_02 + + /** + * @desc Check that TGenCam is set to T_GenCamMax after generating + * N_GenCam due to condition 2. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state" + * the IUT having sent a CAM at time TIME_1 + * the IUT having sent an anticipated CAM due to condition 2 at time (TIME_1 + INTERVAL_1) + * the IUT having sent (N_GenCam - 1) subsequent CAMs every INTERVAL_1 + * } + * Expected behaviour: + * ensure that { + * when { + * the IUT sends CAM + * } + * then { + * the IUT sends another CAM after expiry of T_GenCamMax + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/GFQ/TI-03 + * @reference ETSI TS 103 900 v2.2.1, clause 6.1.3 + */ + testcase TC_CAM_MSD_GFQ_TI_03() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_GFQ_TI_03(); + + } // End of TC_CAM_MSD_GFQ_TI_03 + + /** + * @desc Check that CAM is generated immediately when the time + * elapsed since the last CAM generation is equal or larger + * than T_GenCam_Dcc and the absolute difference between + * current direction of the originating ITS-S (towards North) + * and direction included in previous CAM exceeds 4°. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state" + * the IUT having sent a CAM at time TIME_1 + * containing cam + * containing camParameters + * containing highFrequencyContainer + * containing basicVehicleContainerHighFrequency + * containing heading set to HEADING_1 + * the IUT not having sent any CAM since T_GenCam_Dcc + * } + * Expected behaviour: + * ensure that { + * when { + * T_GenCam_Dcc expires + * and the IUT is alerted that abs(CurrentHeading – HEADING_1) > 4° + * } + * then { + * the IUT sends a CAM immediately + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/GFQ/BV-04 + * @reference ETSI TS 103 900 v2.2.1, clause 6.1.3 + */ + testcase TC_CAM_MSD_GFQ_BV_04() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_GFQ_BV_04(); + + } // End of TC_CAM_MSD_GFQ_BV_04 + + /** + * @desc Check that CAM is generated immediately when the time + * elapsed since the last CAM generation is equal or larger + * than T_GenCam_Dcc and the current position and position + * included in previous CAM exceeds 4 m. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state" + * the IUT having sent a CAM at time TIME_1 + * containing cam + * containing camParameters + * containing basicContainer + * containing referencePosition set to POSITION_1 + * the IUT not having sent any CAM since T_GenCam_Dcc + * } + * Expected behaviour: + * ensure that { + * when { + * T_GenCam_Dcc expires + * and the IUT is alerted that distance(CurrentPosition – POSITION_1) > 4 m + * } + * then { + * the IUT sends a CAM immediately + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/GFQ/BV-05 + * @reference ETSI TS 103 900 v2.2.1, clause 6.1.3 + */ + testcase TC_CAM_MSD_GFQ_BV_05() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_GFQ_BV_05(); + + } // End of TC_CAM_MSD_GFQ_BV_05 + + /** + * @desc Check that CAM is generated immediately when the time + * elapsed since the last CAM generation is equal or larger + * than T_GenCam_Dcc and the absolute difference between + * current speed and speed included in previous CAM + * exceeds 0,5 m/s. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state" + * the IUT having sent a CAM at time TIME_1 + * containing cam + * containing camParameters + * containing highFrequencyContainer + * containing basicVehicleContainerHighFrequency + * containing speed set to SPEED_1 + * the IUT not having sent any CAM since T_GenCam_Dcc + * } + * Expected behaviour: + * ensure that { + * when { + * T_GenCam_Dcc expires + * and the IUT is alerted that abs(CurrentSpeed – SPEED_1) > 0,5 m/s + * } + * then { + * the IUT sends a CAM immediately + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/GFQ/BV-06 + * @reference ETSI TS 103 900 v2.2.1, clause 6.1.3 + */ + testcase TC_CAM_MSD_GFQ_BV_06() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_GFQ_BV_06(); + + } // End of TC_CAM_MSD_GFQ_BV_06 + + /** + * @desc Check that CAM is generated immediately when the time + * elapsed since the last CAM generation is equal or larger + * than T_GenCam and equal or larger than T_GenCam_Dcc. + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PIC_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state" + * the IUT having sent a CAM + * } + * Expected behaviour: + * ensure that { + * when { + * T_GenCam expires + * and T_GenCam_Dcc expires + * } + * then { + * the IUT sends another CAM + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/GFQ/TI-07 + * @reference ETSI TS 103 900 v2.2.1, clause 6.1.3 + */ + testcase TC_CAM_MSD_GFQ_TI_07() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_GFQ_TI_07(); + + } // End of TC_CAM_MSD_GFQ_TI_07 + + /** + * @desc Check that maximum CAM generation frequency for RSU ITS-S is 1Hz + * + *
+ * Pics Selection: PICS_CAM_GENERATION AND PICS_RSU + * Initial conditions: + * with { + * the IUT being in the "initial state" + * } + * Expected behaviour: + * ensure that { + * when { + * IUT sends a CAM + * } + * then { + * the IUT does not send another CAM afterbefore 1s + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/GFQ/TI-08 + * @reference ETSI TS 103 900 v2.2.1, clause 6.1.4 + */ + testcase TC_CAM_MSD_GFQ_TI_08() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_GFQ_TI_08(); + + } // End of TC_CAM_MSD_GFQ_TI_08 + + } // End of group camGenerationFrequency + + group camLowerLayerParameters { + + /** + * @desc Check that CAM is encapsulated in BTP type B packet + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_IS_IUT_SECURED + * Initial conditions: + * with { + * the IUT being in the "initial state" + * } + * Expected behaviour: + * ensure that { + * when { + * a CAM is generated + * } + * then { + * the IUT sends a CAM + * encapsulated in a BTP-B packet + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/PAR/BV-01 + * @reference ETSI TS 103 900 v2.2.1, clause 5.3.4.1 + */ + testcase TC_CAM_MSD_PAR_BV_01() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_PAR_BV_01(); + + } // End of TC_CAM_MSD_PAR_BV_01 + + /** + * @desc Check that CAM is encapsulated in SHB packet + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_IS_IUT_SECURED + * Initial conditions: + * with { + * the IUT being in the "initial state" + * } + * Expected behaviour: + * ensure that { + * when { + * a CAM is generated + * } + * then { + * the IUT sends a CAM + * encapsulated in a SHB packet + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/PAR/BV-02 + * @reference ETSI TS 103 900 v2.2.1, clause 5.3.4.1 + */ + testcase TC_CAM_MSD_PAR_BV_02() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_PAR_BV_02(); + + } // End of TC_CAM_MSD_PAR_BV_02 + + /** + * @desc Check that CAM is encapsulated in GN packet with lifetime lower than 1s + *
+ * Pics Selection: PICS_CAM_GENERATION AND NOT PICS_IS_IUT_SECURED + * Initial conditions: + * with { + * the IUT being in the "initial state" + * } + * Expected behaviour: + * ensure that { + * when { + * a CAM is generated + * } + * then { + * the IUT sends a CAM + * encapsulated in a GN packet + * containing Basic Header + * containing Lifetime field + * indicating value lower than 1s + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/PAR/BV-03 + * @reference ETSI TS 103 900 v2.2.1, clause 5.3.4.1 + */ + testcase TC_CAM_MSD_PAR_BV_03() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_PAR_BV_03(); + + } // End of TC_CAM_MSD_PAR_BV_03 + + } // End of group camLowerLayerParameters + + group camGenerationSSP { + + /** + * @desc Check that the IUT does not send a CAM + * when its content is not permitted by signing certificate + *
+ * Pics Selection: PICS_CAM_GENERATION AND PICS_IS_IUT_SECURED + * Initial conditions: + * with { + * the IUT being in the "initial state" + * the IUT is authorized to sign CAMs with the certificate + * containing CAM SSP + * indicating SSP version 1 + * indicating bit at position '1' set to 0 + * } + * Expected behaviour: + * ensure that { + * when { + * the IUT generates a CAM + * containing CenDsrcTollingZone + * } + * then { + * the IUT does not send this CAM + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/SSP/BO-01 + * @reference ETSI TS 103 900 v2.2.1, clause 6.2.2.1 + */ + testcase TC_CAM_MSD_SSP_BO_01() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_SSP_BO_01(); + + } // End of TC_CAM_MSD_SSP_BO_01 + + /** + * @desc Check that the IUT does not send a CAM + * when its content is not permitted by signing certificate + *
+ * Pics Selection: PICS_CAM_GENERATION AND PICS_IS_IUT_SECURED + * AND PICS_SPECIALVEHICLECONTAINER AND PICS_PUBLICTRANS + * Initial conditions: + * with { + * the IUT being in the "initial state" + * the IUT is authorized to sign CAMs with the certificate + * containing CAM SSP + * indicating SSP version 1 + * indicating bit at position '2' set to 0 + * } + * Expected behaviour: + * ensure that { + * when { + * the IUT generates a CAM + * containing publicTransportContainer + * } + * then { + * the IUT does not send this CAM + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/SSP/BO-02 + * @reference ETSI TS 103 900 v2.2.1, clause 6.2.2.1 + */ + testcase TC_CAM_MSD_SSP_BO_02() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_SSP_BO_02(); + + } // End of TC_CAM_MSD_SSP_BO_02 + + /** + * @desc Check that the IUT does not send a CAM + * when its content is not permitted by signing certificate + *
+ * Pics Selection: PICS_CAM_GENERATION AND PICS_IS_IUT_SECURED + * AND PICS_SPECIALVEHICLECONTAINER AND PICS_SPECIALTRANS + * Initial conditions: + * with { + * the IUT being in the "initial state" + * the IUT is authorized to sign CAMs with the certificate + * containing CAM SSP + * indicating SSP version 1 + * indicating bit at position '3' set to 0 + * } + * Expected behaviour: + * ensure that { + * when { + * the IUT generates a CAM + * containing specialTransportContainer + * } + * then { + * the IUT does not send this CAM + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/SSP/BO-03 + * @reference ETSI TS 103 900 v2.2.1, clause 6.2.2.1 + */ + testcase TC_CAM_MSD_SSP_BO_03() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_SSP_BO_03(); + + } // End of TC_CAM_MSD_SSP_BO_03 + + /** + * @desc Check that the IUT does not send a CAM + * when its content is not permitted by signing certificate + *
+ * Pics Selection: PICS_CAM_GENERATION AND PICS_IS_IUT_SECURED + * AND PICS_SPECIALVEHICLECONTAINER AND PICS_DANGEROUSGOODS + * Initial conditions: + * with { + * the IUT being in the "initial state" + * the IUT is authorized to sign CAMs with the certificate + * containing CAM SSP + * indicating SSP version 1 + * indicating bit at position '4' set to 0 + * } + * Expected behaviour: + * ensure that { + * when { + * the IUT generates a CAM + * containing specialTransportContainer + * } + * then { + * the IUT does not send this CAM + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/SSP/BO-04 + * @reference ETSI TS 103 900 v2.2.1, clause 6.2.2.1 + */ + testcase TC_CAM_MSD_SSP_BO_04() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_SSP_BO_04(); + + } // End of TC_CAM_MSD_SSP_BO_04 + + /** + * @desc Check that the IUT does not send a CAM + * when its content is not permitted by signing certificate + *
+ * Pics Selection: PICS_CAM_GENERATION AND PICS_IS_IUT_SECURED + * AND PICS_SPECIALVEHICLECONTAINER AND PICS_ROADWORKS + * Initial conditions: + * with { + * the IUT being in the "initial state" + * the IUT is authorized to sign CAMs with the certificate + * containing CAM SSP + * indicating SSP version 1 + * indicating bit at position '5' set to 0 + * } + * Expected behaviour: + * ensure that { + * when { + * the IUT generates a CAM + * containing specialTransportContainer + * } + * then { + * the IUT does not send this CAM + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/SSP/BO-05 + * @reference ETSI TS 103 900 v2.2.1, clause 6.2.2.1 + */ + testcase TC_CAM_MSD_SSP_BO_05() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_SSP_BO_05(); + + } // End of TC_CAM_MSD_SSP_BO_05 + + /** + * @desc Check that the IUT does not send a CAM + * when its content is not permitted by signing certificate + *
+ * Pics Selection: PICS_CAM_GENERATION AND PICS_IS_IUT_SECURED + * AND PICS_SPECIALVEHICLECONTAINER AND PICS_RESCUE + * Initial conditions: + * with { + * the IUT being in the "initial state" + * the IUT is authorized to sign CAMs with the certificate + * containing CAM SSP + * indicating SSP version 1 + * indicating bit at position '6' set to 0 + * } + * Expected behaviour: + * ensure that { + * when { + * the IUT generates a CAM + * containing specialTransportContainer + * } + * then { + * the IUT does not send this CAM + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/SSP/BO-06 + * @reference ETSI TS 103 900 v2.2.1, clause 6.2.2.1 + */ + testcase TC_CAM_MSD_SSP_BO_06() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_SSP_BO_06(); + + } // End of TC_CAM_MSD_SSP_BO_06 + + /** + * @desc Check that the IUT does not send a CAM + * when its content is not permitted by signing certificate + *
+ * Pics Selection: PICS_CAM_GENERATION AND PICS_IS_IUT_SECURED + * AND PICS_SPECIALVEHICLECONTAINER AND PICS_EMERGENCY + * Initial conditions: + * with { + * the IUT being in the "initial state" + * the IUT is authorized to sign CAMs with the certificate + * containing CAM SSP + * indicating SSP version 1 + * indicating bit at position '7' set to 0 + * } + * Expected behaviour: + * ensure that { + * when { + * the IUT generates a CAM + * containing specialTransportContainer + * } + * then { + * the IUT does not send this CAM + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/SSP/BO-07 + * @reference ETSI TS 103 900 v2.2.1, clause 6.2.2.1 + */ + testcase TC_CAM_MSD_SSP_BO_07() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_SSP_BO_07(); + + } // End of TC_CAM_MSD_SSP_BO_07 + + /** + * @desc Check that the IUT does not send a CAM + * when its content is not permitted by signing certificate + *
+ * Pics Selection: PICS_CAM_GENERATION AND PICS_IS_IUT_SECURED + * AND PICS_SPECIALVEHICLECONTAINER AND PICS_SAFETY_CAR + * Initial conditions: + * with { + * the IUT being in the "initial state" + * the IUT is authorized to sign CAMs with the certificate + * containing CAM SSP + * indicating SSP version 1 + * indicating bit at position '8' set to 0 + * } + * Expected behaviour: + * ensure that { + * when { + * the IUT generates a CAM + * containing specialTransportContainer + * } + * then { + * the IUT does not send this CAM + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/SSP/BO-08 + * @reference ETSI TS 103 900 v2.2.1, clause 6.2.2.1 + */ + testcase TC_CAM_MSD_SSP_BO_08() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_SSP_BO_08(); + + } // End of TC_CAM_MSD_SSP_BO_08 + + /** + * @desc Check that the IUT does not send a CAM + * when its content is not permitted by signing certificate + *
+ * Pics Selection: PICS_CAM_GENERATION AND PICS_IS_IUT_SECURED + * AND PICS_EXTENSIONSCONTAINER AND PIC_RELEASE2 + * Initial conditions: + * with { + * the IUT being in the "initial state" + * the IUT is authorized to sign CAMs with the certificate + * containing CAM SSP + * indicating SSP version 2 + * indicating bit at position '2' set to 0 + * } + * Expected behaviour: + * ensure that { + * when { + * the IUT generates a CAM + * containing extensionsContainer + * containing twoWheelersContainer + * } + * then { + * the IUT does not send this CAM + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/SSP/BO-15 + * @reference ETSI TS 103 900 v2.2.1, clause 6.2.2.1 + */ + testcase TC_CAM_MSD_SSP_BO_15() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_SSP_BO_15(); + + } // End of TC_CAM_MSD_SSP_BO_15 + + /** + * @desc Check that the IUT does not send a CAM + * when its content is not permitted by signing certificate + *
+ * Pics Selection: PICS_CAM_GENERATION AND PICS_IS_IUT_SECURED + * AND PICS_EXTENSIONSCONTAINER AND PIC_RELEASE2 + * Initial conditions: + * with { + * the IUT being in the "initial state" + * the IUT is authorized to sign CAMs with the certificate + * containing CAM SSP + * indicating SSP version 2 + * indicating bit at position '1' set to 0 + * } + * Expected behaviour: + * ensure that { + * when { + * the IUT generates a CAM + * containing extensionsContainer + * containing twoWheelersContainer + * } + * then { + * the IUT does not send this CAM + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSD/SSP/BO-16 + * @reference ETSI TS 103 900 v2.2.1, clause 6.2.2.1 + */ + testcase TC_CAM_MSD_SSP_BO_16() runs on ItsCam system ItsCamSystem { + + f_CAM_MSD_SSP_BO_16(); + + } // End of TC_CAM_MSD_SSP_BO_16 + + } // End of group camGenerationSSP + + } // End of group camMessageDissemination + + group camMessageProcessing { + + /** + * @desc Check that content of received CAM is transmitted to + * applications and other facilities. + *
+ * Pics Selection: PICS_CAM_RECEPTION + * Initial conditions: + * with { + * the IUT being in the "initial state" + * } + * Expected behaviour: + * ensure that { + * when { + * the IUT receives a valid CAM + * } + * then { + * the IUT forwards the CAM content to upper layers + * and the IUT forwards the CAM content to other facilities + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSP/BV-01 + * @reference ETSI TS 103 900 v2.2.1, clause 4.2.2 + */ + testcase TC_CAM_MSP_BV_01() runs on ItsCam system ItsCamSystem { + + f_CAM_MSP_BV_01(); + + } // End of TC_CAM_MSP_BV_01 + + group camProcessingSSP { + + /** + * @desc Check that IUT discards CAM if SSP value of the signing certificate + * is not consistent with the provided containers. + *
+ * Pics Selection: PICS_CAM_RECEPTION AND PICS_IS_IUT_SECURED + * Initial conditions: + * with { + * the IUT being in the "initial state" + * } + * Expected behaviour: + * ensure that { + * when { + * the IUT receives a secured CAM + * containing CenDsrcTollingZone/ProtectedCommunicationZonesRSU + * signed with certificate + * indicating SSP version 1 + * containing CAM SSP bit at position 0 + * indicating 0 + * } + * then { + * the IUT discards the CAM + * and the IUT does not forward the CAM content to upper layers + * and the IUT does not forward the CAM content to other facilities + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSP/SSP/BV-01-01 + * @reference ETSI TS 103 900 v2.2.1, clause 6.2.2.1 + */ + testcase TC_CAM_MSP_SSP_BV_01() runs on ItsCam system ItsCamSystem { + + f_CAM_MSP_SSP_BV_01(); + + } // End of TC_CAM_MSP_BV_01 + + /** + * @desc Check that IUT discards CAM if SSP value of the signing certificate + * is not consistent with the provided containers. + *
+ * Pics Selection: PICS_CAM_RECEPTION AND PICS_IS_IUT_SECURED + * Initial conditions: + * with { + * the IUT being in the "initial state" + * } + * Expected behaviour: + * ensure that { + * when { + * the IUT receives a secured CAM + * containing publicTransportContainer + * and signed with certificate + * indicating SSP version 1 + * containing CAM SSP bit at position 1 + * indicating 0 + * } + * then { + * the IUT discards the CAM + * and the IUT does not forward the CAM content to upper layers + * and the IUT does not forward the CAM content to other facilities + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSP/SSP/BV-01-02 + * @reference ETSI TS 103 900 v2.2.1, clause 6.2.2.1 + */ + testcase TC_CAM_MSP_SSP_BV_02() runs on ItsCam system ItsCamSystem { + + f_CAM_MSP_SSP_BV_02(); + + } // End of TC_CAM_MSP_BV_02 + + /** + * @desc Check that IUT discards CAM if SSP value of the signing certificate + * is not consistent with the provided containers. + *
+ * Pics Selection: PICS_CAM_RECEPTION AND PICS_IS_IUT_SECURED + * Initial conditions: + * with { + * the IUT being in the "initial state" + * } + * Expected behaviour: + * ensure that { + * when { + * the IUT receives a secured CAM + * containing specialTransportContainer + * and signed with certificate + * indicating SSP version 1 + * containing CAM SSP bit at position 2 + * indicating 0 + * } + * then { + * the IUT discards the CAM + * and the IUT does not forward the CAM content to upper layers + * and the IUT does not forward the CAM content to other facilities + * } + * } + *+ * + * @see ETSI TS 102 868-2 v2.2.1 TP/CAM/MSP/SSP/BV-01-03 + * @reference ETSI TS 103 900 v2.2.1, clause 6.2.2.1 + */ + testcase TC_CAM_MSP_SSP_BV_03() runs on ItsCam system ItsCamSystem { + + f_CAM_MSP_SSP_BV_03(); + + } // End of TC_CAM_MSP_BV_03 + + }// end group camProcessingSSP + + } // End of group camMessageProcessing + +} // End of module ItsCam_TestCases diff --git a/ItsCam_TestControl.ttcn b/ItsCam_TestControl.ttcn index 328f34551cf6b57ffac3628e6fb3ea0bfcf73177..60f980e7b6af89db0a09441287f3fe0ceb9652aa 100644 --- a/ItsCam_TestControl.ttcn +++ b/ItsCam_TestControl.ttcn @@ -1,5 +1,5 @@ /** - * @author ETSI / STF405 / STF449 / STF484 / STF517 + * @author ETSI / STF405 / STF449 / STF484 / STF517 / TTF T036 * @version $Url: https://oldforge.etsi.org/svn/ITS/tags/20170222_STF527_Final/ttcn/AtsCAM/ItsCam_TestControl.ttcn $ * $Id: ItsCam_TestControl.ttcn 2655 2017-01-26 10:46:08Z filatov $ * @desc Test Control file for CAM @@ -27,6 +27,12 @@ module ItsCam_TestControl { execute(TC_CAM_MSD_FMT_BV_03()); execute(TC_CAM_MSD_FMT_BV_04()); execute(TC_CAM_MSD_FMT_BV_05()); + if (PICS_RELEASE2 and PICS_EXTENSIONSCONTAINER) { + execute(TC_CAM_MSD_FMT_BV_06()); + execute(TC_CAM_MSD_FMT_BV_07()); + execute(TC_CAM_MSD_FMT_BV_08()); + execute(TC_CAM_MSD_FMT_BV_09()); + } execute(TC_CAM_MSD_INA_BV_01_01()); execute(TC_CAM_MSD_INA_BV_01_02()); execute(TC_CAM_MSD_INA_BV_01_03()); @@ -105,6 +111,25 @@ module ItsCam_TestControl { if (PICS_SPECIALTRANS and PICS_SPECIALVEHICLECONTAINER) { execute(TC_CAM_MSD_SSP_BO_03()); } + if (PICS_SPECIALTRANS and PICS_DANGEROUSGOODS) { + execute(TC_CAM_MSD_SSP_BO_04()); + } + if (PICS_SPECIALTRANS and PICS_ROADWORKS) { + execute(TC_CAM_MSD_SSP_BO_05()); + } + if (PICS_SPECIALTRANS and PICS_RESCUE) { + execute(TC_CAM_MSD_SSP_BO_06()); + } + if (PICS_SPECIALTRANS and PICS_EMERGENCY) { + execute(TC_CAM_MSD_SSP_BO_07()); + } + if (PICS_SPECIALTRANS and PICS_SAFETY_CAR) { + execute(TC_CAM_MSD_SSP_BO_08()); + } + if (PICS_RELEASE2 and PICS_EXTENSIONSCONTAINER) { + execute(TC_CAM_MSD_SSP_BO_15()); + execute(TC_CAM_MSD_SSP_BO_16()); + } } } diff --git a/ItsCam_TpFunctions.ttcn b/ItsCam_TpFunctions.ttcn index 0ef54d74324f0688f2c0be48d93a3fde054b882d..435aac00fd02401abcf1cf770cf2afd1f1f57173 100644 --- a/ItsCam_TpFunctions.ttcn +++ b/ItsCam_TpFunctions.ttcn @@ -1,5 +1,5 @@ /** - * @author ETSI / STF405 / STF449 / STF484 / STF517 + * @author ETSI / STF405 / STF449 / STF484 / STF517 / TTF T036 * @version $Url: https://oldforge.etsi.org/svn/ITS/tags/20170222_STF527_Final/ttcn/AtsCAM/ItsCam_TpFunctions.ttcn $ * $Id: ItsCam_TpFunctions.ttcn 2655 2017-01-26 10:46:08Z filatov $ * @desc CAM TP functions @@ -7,13 +7,11 @@ * 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 ItsCam_TpFunctions { - import from LibItsCommon_Pixits all; - // LibCommon import from LibCommon_Sync all; import from LibCommon_VerdictControl all; @@ -22,7 +20,7 @@ module ItsCam_TpFunctions { import from LibCommon_DataStrings all; // LibIts - import from ITS_Container language "ASN.1:1997" all; + import from ETSI_ITS_CDD language "ASN.1:1997" all; import from CAM_PDU_Descriptions language "ASN.1:1997" all; // LibItsCommon @@ -30,6 +28,7 @@ module ItsCam_TpFunctions { import from LibItsCommon_Functions all; import from LibItsCommon_Pixits all; import from LibItsCommon_ASN1_NamedNumbers all; + import from LibItsCommon_CddTemplates all; // LibItsCam import from LibItsCam_TestSystem all; @@ -37,6 +36,7 @@ module ItsCam_TpFunctions { import from LibItsCam_Templates all; import from LibItsCam_TypesAndValues all; import from LibItsCam_Pics all; + import from LibItsCam_Pixits all; import from LibItsSecurity_Functions all; @@ -72,11 +72,11 @@ module ItsCam_TpFunctions { alt { [] camPort.receive(mw_camInd ( mw_camMsg_any )){ tc_ac.stop; - log("*** " & testcasename() & ": PASS: Expected CAM message received ***"); + log("*** " & testcasename() & ": PASS: Expected CA message received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); } [] tc_ac.timeout { - log("*** " & testcasename() & ": INCONC: CAM message not received ***"); + log("*** " & testcasename() & ": INCONC: CA message not received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); } } @@ -85,7 +85,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_FMT_BV_01 + } // End of function f_CAM_MSD_FMT_BV_01 /** * @desc TP Function for TC_CAM_MSD_FMT_BV_02 @@ -115,16 +115,16 @@ module ItsCam_TpFunctions { alt { [] camPort.receive(mw_camInd ( mw_camMsg_LF_any )){ tc_ac.stop; - log("*** " & testcasename() & ": PASS: Expected CAM message received ***"); + log("*** " & testcasename() & ": PASS: Expected CA message received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); } [] camPort.receive(mw_camInd ( mw_camMsg_any )){ tc_ac.stop; - log("*** " & testcasename() & ": FAIL: Expected CAM message not received ***"); + log("*** " & testcasename() & ": FAIL: Expected CA message not received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } [] tc_ac.timeout { - log("*** " & testcasename() & ": INCONC: CAM message not received ***"); + log("*** " & testcasename() & ": INCONC: CA message not received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); } } @@ -133,7 +133,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_FMT_BV_02 + } // End of function f_CAM_MSD_FMT_BV_02 /** * @desc TP Function for TC_CAM_MSD_FMT_BV_03 @@ -141,7 +141,7 @@ module ItsCam_TpFunctions { function f_CAM_MSD_FMT_BV_03() runs on ItsCam { // Local variables - timer t_minTransInterval := c_lowFrequencyGenerationTime * 1.10; + timer t_minTransInterval := c_lowFrequencyGenerationTime * PX_INC_TIMER_CONTROL_FACTOR; var SpeedValue v_speedValues[5] := { 1000, 2000, 3000, 4000, 5000 } //cm/s var integer v_cntSpeed, v_cntTime; var CamInd v_camInd; @@ -168,11 +168,11 @@ module ItsCam_TpFunctions { [] camPort.receive(mw_camInd ( mw_camMsg_LF_any )){ tc_ac.stop; t_minTransInterval.start; - log("*** " & testcasename() & ": INFO: Initial conditions: First CAM message received ***"); + log("*** " & testcasename() & ": INFO: Initial conditions: First CA message received ***"); f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success); } [] tc_ac.timeout { - log("*** " & testcasename() & ": INCONC: Initial conditions: CAM message not received ***"); + log("*** " & testcasename() & ": INCONC: Initial conditions: CA message not received ***"); f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_timeout); } } @@ -187,7 +187,7 @@ module ItsCam_TpFunctions { tc_ac.stop; v_cntTime := v_cntTime + 1; if (v_cntTime == c_cntTimeLimit) { // Exit message loop - log("*** " & testcasename() & ": INFO: The subset of CAM messages including lowFrequencyContainer was received ***"); + log("*** " & testcasename() & ": INFO: The subset of CA messages including lowFrequencyContainer was received ***"); t_minTransInterval.start; v_nextCamWithLF := false; } @@ -217,19 +217,19 @@ module ItsCam_TpFunctions { repeat; } [] tc_ac.timeout { - log("*** " & testcasename() & ": INCONC: CAM message not received ***"); + log("*** " & testcasename() & ": INCONC: CA message not received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); } } } - log("*** " & testcasename() & ": PASS: Generation of CAM messages including lowFrequencyContainer was successful ***"); + log("*** " & testcasename() & ": PASS: Generation of CA messages including lowFrequencyContainer was successful ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); // Postamble f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_FMT_BV_03 + } // End of function f_CAM_MSD_FMT_BV_03 /** * @desc TP Function for TC_CAM_MSD_FMT_BV_04 @@ -237,7 +237,7 @@ module ItsCam_TpFunctions { function f_CAM_MSD_FMT_BV_04() runs on ItsCam { // Local variables - var VehicleRole v_vehicleRole := c_vehicleRole_roadWork; + var VehicleRole v_vehicleRole := valueof(m_vehicle_role(roadWork)); // Test control if (not PICS_CAM_GENERATION or PICS_RSU) { @@ -266,11 +266,11 @@ module ItsCam_TpFunctions { alt { [] camPort.receive(mw_camInd ( mw_camMsg_SVC_any )){ tc_ac.stop; - log("*** " & testcasename() & ": PASS: Expected CAM message received ***"); + log("*** " & testcasename() & ": PASS: Expected CA message received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); } [] tc_ac.timeout { - log("*** " & testcasename() & ": INCONC: CAM message not received ***"); + log("*** " & testcasename() & ": INCONC: CA message not received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); } } @@ -279,7 +279,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_FMT_BV_04 + } // End of function f_CAM_MSD_FMT_BV_04 /** * @desc TP Function for TC_CAM_MSD_FMT_BV_05 @@ -287,8 +287,8 @@ module ItsCam_TpFunctions { function f_CAM_MSD_FMT_BV_05() runs on ItsCam { // Local variables - timer t_minTransInterval := c_specialVehicleGenerationTime * 1.10; - var VehicleRole v_vehicleRole := roadWork; + timer t_minTransInterval := c_specialVehicleGenerationTime * PX_INC_TIMER_CONTROL_FACTOR; + var VehicleRole v_vehicleRole := valueof(m_vehicle_role(roadWork)); var SpeedValue v_speedValues[5] := { 1000, 2000, 3000, 4000, 5000 } //cm/s var integer v_cntSpeed, v_cntTime; var CamInd v_camInd; @@ -320,11 +320,11 @@ module ItsCam_TpFunctions { [] camPort.receive(mw_camInd ( mw_camMsg_SVC_any )){ tc_ac.stop; t_minTransInterval.start; - log("*** " & testcasename() & ": INFO: Initial conditions: First CAM message received ***"); + log("*** " & testcasename() & ": INFO: Initial conditions: First CA message received ***"); f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success); } [] tc_ac.timeout { - log("*** " & testcasename() & ": INCONC: Initial conditions: CAM message not received ***"); + log("*** " & testcasename() & ": INCONC: Initial conditions: CA message not received ***"); f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_timeout); } } @@ -339,7 +339,7 @@ module ItsCam_TpFunctions { tc_ac.stop; v_cntTime := v_cntTime + 1; if (v_cntTime == c_cntTimeLimit) { // Exit message loop - log("*** " & testcasename() & ": INFO: The subset of CAM messages including specialVehicleContainer was received ***"); + log("*** " & testcasename() & ": INFO: The subset of CA messages including specialVehicleContainer was received ***"); t_minTransInterval.start; v_nextCamWithSVC := false; } @@ -369,19 +369,270 @@ module ItsCam_TpFunctions { repeat; } [] tc_ac.timeout { - log("*** " & testcasename() & ": INCONC: CAM message not received ***"); + log("*** " & testcasename() & ": INCONC: CA message not received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); } } } - log("*** " & testcasename() & ": PASS: Generation of CAM messages including SpecialVehicleContainer was successful ***"); + log("*** " & testcasename() & ": PASS: Generation of CA messages including SpecialVehicleContainer was successful ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); // Postamble f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_FMT_BV_05 + } // End of function f_CAM_MSD_FMT_BV_05 + + /** + * @desc TP Function for TC_CAM_MSD_FMT_BV_06 + */ + function f_CAM_MSD_FMT_BV_06() runs on ItsCam { + + // Local variables + + // Test control + if (not PICS_CAM_GENERATION or not PICS_RELEASE2 or PICS_RSU) { + log("*** " & testcasename() & ": PICS_CAM_GENERATION AND PICS_RELEASE2 AND NOT PICS_RSU required for executing the TC ***"); + setverdict(inconc); + stop; + } + + // Test component configuration + f_cfUp(); + + // Test adapter configuration + + // Preamble + f_prInitialState(); + camPort.clear; + tc_ac.start; + alt { // Fisrt CAM + [] camPort.receive(mw_camInd ( mw_camMsg_LF_any )){ + tc_ac.stop; + log("*** " & testcasename() & ": INFO: First CA message received ***"); + f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success); + } + [] camPort.receive(mw_camInd ( mw_camMsg_any )){ + tc_ac.stop; + log("*** " & testcasename() & ": FAIL: Invalid first CA message ***"); + f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_timeout); + } + [] tc_ac.timeout { + log("*** " & testcasename() & ": INCONC: First CA message not received ***"); + f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_timeout); + } + } + + // Test Body + tc_ac.start; + alt { // Second CAM + [] camPort.receive(mw_camInd ( mw_camMsg_ext_low_frequency_container_any )){ + tc_ac.stop; + log("*** " & testcasename() & ": PASS: Expected CA message received ***"); + f_selfOrClientSyncAndVerdict(c_tbDone, e_success); + } + [] tc_ac.timeout { + log("*** " & testcasename() & ": INCONC: CA message not received ***"); + f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); + } + } + + // Postamble + f_poDefault(); + f_cfDown(); + + } // End of function f_CAM_MSD_FMT_BV_06 + + /** + * @desc TP Function for TC_CAM_MSD_FMT_BV_07 + */ + function f_CAM_MSD_FMT_BV_07() runs on ItsCam { + + // Local variables + timer t_minTransInterval := c_veryLowFrequencyGenerationTime * PX_INC_TIMER_CONTROL_FACTOR; + var CamInd v_camInd; + var boolean v_nextCamWithVLF := false; + + // Test control + if (not PICS_CAM_GENERATION or not PICS_RELEASE2 or PICS_RSU) { + log("*** " & testcasename() & ": PICS_CAM_GENERATION AND PICS_RELEASE2 AND NOT PICS_RSU required for executing the TC ***"); + setverdict(inconc); + stop; + } + + // Test component configuration + f_cfUp(); + + // Test adapter configuration + + // Preamble + f_prInitialState(); + camPort.clear; + tc_ac.start; + alt { // last CAM with veryLowFrequency container + [] camPort.receive(mw_camInd ( mw_camMsg_ext_low_frequency_container_any )){ + tc_ac.stop; + t_minTransInterval.start; + log("*** " & testcasename() & ": INFO: Initial conditions: Last CA message with veryLowFrequencyContainer received ***"); + f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success); + } + [] tc_ac.timeout { + log("*** " & testcasename() & ": INCONC: Initial conditions: CA message with veryLowFrequencyContainer not received ***"); + f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_timeout); + } + } + + // Test Body + tc_ac.start; + alt { + [] camPort.receive(mw_camInd ( mw_camMsg_ext_low_frequency_container_any )) { + tc_ac.stop; + + if (v_nextCamWithVLF) { + log("*** " & testcasename() & ": PASS: CA message with veryLowFrequencyContainer received ***"); + f_selfOrClientSyncAndVerdict(c_tbDone, e_success); + } else { + log("*** " & testcasename() & ": FAIL: CA message with veryLowFrequencyContainer received too early ***"); + f_selfOrClientSyncAndVerdict(c_tbDone, e_error); + } + } + [] camPort.receive(mw_camInd ( mw_camMsg_any )) -> value v_camInd { + tc_ac.stop; + if (ispresent(v_camInd.msgIn.cam.camParameters.extensionContainers)) { + if (lengthof(v_camInd.msgIn.cam.camParameters.extensionContainers) != 0) { + var boolean v_found := false; + for (var integer v_idx := 0; v_idx < lengthof(v_camInd.msgIn.cam.camParameters.extensionContainers); v_idx := v_idx + 1) { + if (v_camInd.msgIn.cam.camParameters.extensionContainers[v_idx].containerId == veryLowFrequencyContainer) { + v_found := true; + break; + } + } // End of 'for' statement + if (v_found) { + log("*** " & testcasename() & ": FAIL: CA message with veryLowFrequencyContainer is unexpected here ***"); + f_selfOrClientSyncAndVerdict(c_tbDone, e_error); + } else { + tc_ac.start; + repeat; + } + } else { + tc_ac.start; + repeat; + } + } else { + tc_ac.start; + repeat; + } + } + [] t_minTransInterval.timeout { + v_nextCamWithVLF := true; + log("*** " & testcasename() & ": INFO: Next CAM shall contain veryLowFrequency container ***"); + repeat; + } + [] tc_ac.timeout { + log("*** " & testcasename() & ": INCONC: CA message not received ***"); + f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); + } + } + + // Postamble + f_poDefault(); + f_cfDown(); + + } // End of function f_CAM_MSD_FMT_BV_07 + + /** + * @desc TP Function for TC_CAM_MSD_FMT_BV_08 + */ + function f_CAM_MSD_FMT_BV_08() runs on ItsCam { + + // Local variables + var StationType v_stationType := valueof(m_station_type(PX_IUT_STATION_TYPE)); + + // Test control + if (not PICS_CAM_GENERATION or not PICS_RELEASE2 or PICS_RSU) { + log("*** " & testcasename() & ": PICS_CAM_GENERATION AND PICS_RELEASE2 AND NOT PICS_RSU required for executing the TC ***"); + setverdict(inconc); + stop; + } + + // Test component configuration + f_cfUp(); + + // Test adapter configuration + + // Preamble + f_prInitialState(); + f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success); + + // Set vehicle role + f_utTriggerEvent(m_setStationType(v_stationType)); + + // Test Body + tc_ac.start; + alt { + [] camPort.receive(mw_camInd ( mw_camMsg_ext_two_wheelers_container_any )) { + tc_ac.stop; + log("*** " & testcasename() & ": PASS: Expected CA message received ***"); + f_selfOrClientSyncAndVerdict(c_tbDone, e_success); + } + [] tc_ac.timeout { + log("*** " & testcasename() & ": INCONC: CA message not received ***"); + f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); + } + } + + // Postamble + f_poDefault(); + f_cfDown(); + + } // End of function f_CAM_MSD_FMT_BV_08 + + /** + * @desc TP Function for TC_CAM_MSD_FMT_BV_09 + */ + function f_CAM_MSD_FMT_BV_09() runs on ItsCam { + + // Local variables + var StationType v_stationType := valueof(m_station_type(PX_IUT_STATION_TYPE)); + + // Test control + if (not PICS_CAM_GENERATION or not PICS_RELEASE2 or PICS_RSU) { + log("*** " & testcasename() & ": PICS_CAM_GENERATION AND PICS_RELEASE2 AND NOT PICS_RSU required for executing the TC ***"); + setverdict(inconc); + stop; + } + + // Test component configuration + f_cfUp(); + + // Test adapter configuration + + // Preamble + f_prInitialState(); + f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success); + + // Set vehicle role + f_utTriggerEvent(m_setStationType(v_stationType)); + + // Test Body + tc_ac.start; + alt { + [] camPort.receive(mw_camInd ( mw_camMsg_ext_two_wheelers_container_any )) { + tc_ac.stop; + log("*** " & testcasename() & ": PASS: Expected CA message received ***"); + f_selfOrClientSyncAndVerdict(c_tbDone, e_success); + } + [] tc_ac.timeout { + log("*** " & testcasename() & ": INCONC: CA message not received ***"); + f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); + } + } + + // Postamble + f_poDefault(); + f_cfDown(); + + } // End of function f_CAM_MSD_FMT_BV_09 } // end group camMessageFormat @@ -400,7 +651,7 @@ module ItsCam_TpFunctions { log("*** " & testcasename() & ": Checking INFO==" & p_INFO & " ***"); if (lengthof(p_utTriggers) != lengthof(p_camPdus)) { - log("*** " & testcasename() & ": INCONC: Invalid testcase configuration: Number of event triggers and expected CAM messages differs ***"); + log("*** " & testcasename() & ": INCONC: Invalid testcase configuration: Number of event triggers and expected CA messages differs ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); } @@ -412,15 +663,15 @@ module ItsCam_TpFunctions { [] camPort.receive( mw_camInd ( p_camPdus[v_cnt] )){ tc_ac.stop; if (v_cnt==lengthof(p_utTriggers)-1) { - log("*** " & testcasename() & ": PASS: Expected CAM message received ***"); + log("*** " & testcasename() & ": PASS: Expected CA message received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); } else { - log("*** " & testcasename() & ": PRECONDITION: Expected CAM message received ***"); + log("*** " & testcasename() & ": PRECONDITION: Expected CA message received ***"); } } [] tc_ac.timeout { - log("*** " & testcasename() & ": INCONC: CAM message not received ***"); + log("*** " & testcasename() & ": INCONC: CA message not received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); } } @@ -465,11 +716,11 @@ module ItsCam_TpFunctions { [] camPort.receive( mw_camInd ( mw_camMsg_HF_BV(mw_HF_BV_curvature(v_curVal)) )) -> value v_camInd { tc_ac.stop; if (v_initialReceived) { - log("*** " & testcasename() & ": PASS: Expected CAM message received ***"); + log("*** " & testcasename() & ": PASS: Expected CA message received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); } else { - log("*** " & testcasename() & ": PRECONDITION: Expected CAM message received ***"); + log("*** " & testcasename() & ": PRECONDITION: Expected CA message received ***"); v_initialReceived := true; //change again the curvature value and set the expectation to the measured value if (v_camInd.msgIn.cam.camParameters.highFrequencyContainer.basicVehicleContainerHighFrequency.curvature.curvatureValue >= 0) { @@ -486,7 +737,7 @@ module ItsCam_TpFunctions { } } [] tc_ac.timeout { - log("*** " & testcasename() & ": INCONC: CAM message not received ***"); + log("*** " & testcasename() & ": INCONC: CA message not received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); } } @@ -495,7 +746,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_01_01 + } // End of function f_CAM_MSD_INA_BV_01_01 /** * @desc TP Function for TC_CAM_MSD_INA_BV_01_02 @@ -531,7 +782,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_01_02 + } // End of function f_CAM_MSD_INA_BV_01_02 /** * @desc TP Function for TC_CAM_MSD_INA_BV_01_03 @@ -567,7 +818,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_01_03 + } // End of function f_CAM_MSD_INA_BV_01_03 /** * @desc TP Function for TC_CAM_MSD_INA_BV_01_04 @@ -603,7 +854,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_01_04 + } // End of function f_CAM_MSD_INA_BV_01_04 /** * @desc TP Function for TC_CAM_MSD_INA_BV_01_05 @@ -639,7 +890,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_01_05 + } // End of function f_CAM_MSD_INA_BV_01_05 /** * @desc TP Function for TC_CAM_MSD_INA_BV_01_06 @@ -675,7 +926,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_01_06 + } // End of function f_CAM_MSD_INA_BV_01_06 /** * @desc TP Function for TC_CAM_MSD_INA_BV_01_07 @@ -711,7 +962,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_01_07 + } // End of function f_CAM_MSD_INA_BV_01_07 /** * @desc TP Function for TC_CAM_MSD_INA_BV_01_08 @@ -747,7 +998,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_01_08 + } // End of function f_CAM_MSD_INA_BV_01_08 /** * @desc TP Function for TC_CAM_MSD_INA_BV_01_09 @@ -783,7 +1034,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_01_09 + } // End of function f_CAM_MSD_INA_BV_01_09 /** * @desc TP Function for TC_CAM_MSD_INA_BV_01_10 @@ -819,7 +1070,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_01_10 + } // End of function f_CAM_MSD_INA_BV_01_10 /** * @desc TP Function for TC_CAM_MSD_INA_BV_01_11 @@ -855,7 +1106,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_01_11 + } // End of function f_CAM_MSD_INA_BV_01_11 /** * @desc TP Function for TC_CAM_MSD_INA_BV_01_12 @@ -891,7 +1142,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_01_12 + } // End of function f_CAM_MSD_INA_BV_01_12 /** * @desc TP Function for TC_CAM_MSD_INA_BV_01_13 @@ -927,7 +1178,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_01_13 + } // End of function f_CAM_MSD_INA_BV_01_13 /** * @desc TP Function for TC_CAM_MSD_INA_BV_01_14 @@ -963,7 +1214,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_01_14 + } // End of function f_CAM_MSD_INA_BV_01_14 /** * @desc TP Function for TC_CAM_MSD_INA_BV_01_15 @@ -999,7 +1250,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_01_15 + } // End of function f_CAM_MSD_INA_BV_01_15 /** * @desc TP Function for TC_CAM_MSD_INA_BV_01_16 @@ -1035,7 +1286,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_01_16 + } // End of function f_CAM_MSD_INA_BV_01_16 /** * @desc TP Function for TC_CAM_MSD_INA_BV_01_17 @@ -1071,7 +1322,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_01_17 + } // End of function f_CAM_MSD_INA_BV_01_17 /** * @desc TP Function for TC_CAM_MSD_INA_BV_01_18 @@ -1107,7 +1358,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_01_18 + } // End of function f_CAM_MSD_INA_BV_01_18 /** * @desc TP Function for TC_CAM_MSD_INA_BV_01_19 @@ -1143,7 +1394,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_01_19 + } // End of function f_CAM_MSD_INA_BV_01_19 /** * @desc TP Function for TC_CAM_MSD_INA_BV_01_20 @@ -1179,7 +1430,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_01_20 + } // End of function f_CAM_MSD_INA_BV_01_20 /** * @desc TP Function for TC_CAM_MSD_INA_BV_01_21 @@ -1215,7 +1466,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_01_21 + } // End of function f_CAM_MSD_INA_BV_01_21 /** * @desc TP Function for TC_CAM_MSD_INA_BV_01_22 @@ -1251,7 +1502,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_01_22 + } // End of function f_CAM_MSD_INA_BV_01_22 /** * @desc TP Function for TC_CAM_MSD_INA_BV_01_23 @@ -1287,7 +1538,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_01_23 + } // End of function f_CAM_MSD_INA_BV_01_23 /** * @desc TP Function for TC_CAM_MSD_INA_BV_01_24 @@ -1323,7 +1574,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_01_24 + } // End of function f_CAM_MSD_INA_BV_01_24 /** * @desc TP Function for TC_CAM_MSD_INA_BV_01_25 @@ -1359,7 +1610,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_01_25 + } // End of function f_CAM_MSD_INA_BV_01_25 /** * @desc TP Function for TC_CAM_MSD_INA_BV_01_26 @@ -1395,7 +1646,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_01_26 + } // End of function f_CAM_MSD_INA_BV_01_26 /** * @desc TP Function for TC_CAM_MSD_INA_BV_01_27 @@ -1431,7 +1682,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_01_27 + } // End of function f_CAM_MSD_INA_BV_01_27 /** * @desc TP Function for TC_CAM_MSD_INA_BV_01_28 @@ -1467,7 +1718,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_01_28 + } // End of function f_CAM_MSD_INA_BV_01_28 /** * @desc TP Function for TC_CAM_MSD_INA_BV_01_29 @@ -1503,7 +1754,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_01_29 + } // End of function f_CAM_MSD_INA_BV_01_29 /** * @desc TP Function for TC_CAM_MSD_INA_BV_01_30 @@ -1539,7 +1790,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_01_30 + } // End of function f_CAM_MSD_INA_BV_01_30 /** * @desc TP Function for TC_CAM_MSD_INA_BV_01_31 @@ -1575,7 +1826,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_01_31 + } // End of function f_CAM_MSD_INA_BV_01_31 /** * @desc TP Function for TC_CAM_MSD_INA_BV_01_32 @@ -1615,11 +1866,11 @@ module ItsCam_TpFunctions { [] camPort.receive( mw_camInd ( mw_camMsg_HF_BV(mw_HF_BV_heading(v_headingVal)) )) -> value v_camInd { tc_ac.stop; if (v_initialReceived) { - log("*** " & testcasename() & ": PASS: Expected CAM message received ***"); + log("*** " & testcasename() & ": PASS: Expected CA message received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); } else { - log("*** " & testcasename() & ": PRECONDITION: Expected CAM message received ***"); + log("*** " & testcasename() & ": PRECONDITION: Expected CA message received ***"); v_initialReceived := true; //change again the heading value and set the expectation to the measured value v_headingVal := (v_camInd.msgIn.cam.camParameters.highFrequencyContainer.basicVehicleContainerHighFrequency.heading.headingValue+c_headingValOffset) mod 3601; @@ -1629,7 +1880,7 @@ module ItsCam_TpFunctions { } } [] tc_ac.timeout { - log("*** " & testcasename() & ": INCONC: CAM message not received ***"); + log("*** " & testcasename() & ": INCONC: CA message not received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); } } @@ -1638,7 +1889,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_01_32 + } // End of function f_CAM_MSD_INA_BV_01_32 /** * @desc TP Function for TC_CAM_MSD_INA_BV_01_33 @@ -1678,11 +1929,11 @@ module ItsCam_TpFunctions { [] camPort.receive( mw_camInd ( mw_camMsg_HF_BV(mw_HF_BV_speed(v_speedVal)) )) -> value v_camInd { tc_ac.stop; if (v_initialReceived) { - log("*** " & testcasename() & ": PASS: Expected CAM message received ***"); + log("*** " & testcasename() & ": PASS: Expected CA message received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); } else { - log("*** " & testcasename() & ": PRECONDITION: Expected CAM message received ***"); + log("*** " & testcasename() & ": PRECONDITION: Expected CA message received ***"); v_initialReceived := true; //change again the speed value and set the expectation to the measured value v_speedVal := (v_camInd.msgIn.cam.camParameters.highFrequencyContainer.basicVehicleContainerHighFrequency.speed.speedValue+c_speedValOffset) mod 16384; @@ -1692,7 +1943,7 @@ module ItsCam_TpFunctions { } } [] tc_ac.timeout { - log("*** " & testcasename() & ": INCONC: CAM message not received ***"); + log("*** " & testcasename() & ": INCONC: CA message not received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); } } @@ -1701,7 +1952,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_01_33 + } // End of function f_CAM_MSD_INA_BV_01_33 /** * @desc TP Function for TC_CAM_MSD_INA_BV_01_34 @@ -1739,11 +1990,11 @@ module ItsCam_TpFunctions { [] camPort.receive( mw_camInd ( mw_camMsg_HF_BV(mw_HF_BV_driveDirection(v_driveVal)) )) -> value v_camInd { tc_ac.stop; if (v_driveVal==forward) { - log("*** " & testcasename() & ": PASS: Expected CAM message received ***"); + log("*** " & testcasename() & ": PASS: Expected CA message received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); } else { - log("*** " & testcasename() & ": PRECONDITION: Expected CAM message received ***"); + log("*** " & testcasename() & ": PRECONDITION: Expected CA message received ***"); //change again the drive direction and set the expectation to the measured value v_driveVal := forward; f_utTriggerEvent(m_setDriveDirection(v_driveVal)); @@ -1752,7 +2003,7 @@ module ItsCam_TpFunctions { } } [] tc_ac.timeout { - log("*** " & testcasename() & ": INCONC: CAM message not received ***"); + log("*** " & testcasename() & ": INCONC: CA message not received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); } } @@ -1761,7 +2012,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_01_34 + } // End of function f_CAM_MSD_INA_BV_01_34 /** * @desc TP Function for TC_CAM_MSD_INA_BV_01_35 @@ -1801,11 +2052,11 @@ module ItsCam_TpFunctions { [] camPort.receive( mw_camInd ( mw_camMsg_HF_BV(mw_HF_BV_yawRate(v_yawRateVal)) )) -> value v_camInd { tc_ac.stop; if (v_initialReceived) { - log("*** " & testcasename() & ": PASS: Expected CAM message received ***"); + log("*** " & testcasename() & ": PASS: Expected CA message received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); } else { - log("*** " & testcasename() & ": PRECONDITION: Expected CAM message received ***"); + log("*** " & testcasename() & ": PRECONDITION: Expected CA message received ***"); v_initialReceived := true; //change again the yaw rate value and set the expectation to the measured value v_yawRateVal := v_camInd.msgIn.cam.camParameters.highFrequencyContainer.basicVehicleContainerHighFrequency.yawRate.yawRateValue; @@ -1822,7 +2073,7 @@ module ItsCam_TpFunctions { } } [] tc_ac.timeout { - log("*** " & testcasename() & ": INCONC: CAM message not received ***"); + log("*** " & testcasename() & ": INCONC: CA message not received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); } } @@ -1831,7 +2082,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_01_35 + } // End of function f_CAM_MSD_INA_BV_01_35 } // end group camInVehicleData @@ -1849,6 +2100,7 @@ module ItsCam_TpFunctions { stop; } if (not PICS_PUBLICTRANS) { + setverdict(inconc); testcase.stop(testcasename() & ": PICS_PUBLICTRANS need to be set to true"); } @@ -1862,7 +2114,7 @@ module ItsCam_TpFunctions { f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success); // Set vehicle role - f_utTriggerEvent(m_setVehicleRole(c_vehicleRole_publicTransport)); + f_utTriggerEvent(m_setVehicleRole(publicTransport)); // Test Body log("*** " & testcasename() & ": Expected template: ", mw_camInd ( mw_camMsg_SVC( mw_publicTransport_any )), " ***"); @@ -1870,11 +2122,11 @@ module ItsCam_TpFunctions { alt { [] camPort.receive(mw_camInd ( mw_camMsg_SVC( mw_publicTransport_any ))){ tc_ac.stop; - log("*** " & testcasename() & ": PASS: Expected CAM message received ***"); + log("*** " & testcasename() & ": PASS: Expected CA message received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); } [] tc_ac.timeout { - log("*** " & testcasename() & ": INCONC: CAM message not received ***"); + log("*** " & testcasename() & ": INCONC: CA message not received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); } } @@ -1883,7 +2135,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_02 + } // End of function f_CAM_MSD_INA_BV_02 /** * @desc TP Function for TC_CAM_MSD_INA_BV_03 @@ -1912,18 +2164,18 @@ module ItsCam_TpFunctions { f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success); // Set vehicle role - f_utTriggerEvent(m_setVehicleRole(c_vehicleRole_specialTransport)); + f_utTriggerEvent(m_setVehicleRole(specialTransport)); // Test Body tc_ac.start; alt { [] camPort.receive(mw_camInd ( mw_camMsg_SVC( mw_specialTransport_any ))){ tc_ac.stop; - log("*** " & testcasename() & ": PASS: Expected CAM message received ***"); + log("*** " & testcasename() & ": PASS: Expected CA message received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); } [] tc_ac.timeout { - log("*** " & testcasename() & ": INCONC: CAM message not received ***"); + log("*** " & testcasename() & ": INCONC: CA message not received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); } } @@ -1932,7 +2184,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_03 + } // End of function f_CAM_MSD_INA_BV_03 /** * @desc TP Function for TC_CAM_MSD_INA_BV_04 @@ -1961,18 +2213,18 @@ module ItsCam_TpFunctions { f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success); // Set vehicle role - f_utTriggerEvent(m_setVehicleRole(c_vehicleRole_dangerousGoods)); + f_utTriggerEvent(m_setVehicleRole(dangerousGoods)); // Test Body tc_ac.start; alt { [] camPort.receive(mw_camInd ( mw_camMsg_SVC( mw_dangerousGoods_any ))){ tc_ac.stop; - log("*** " & testcasename() & ": PASS: Expected CAM message received ***"); + log("*** " & testcasename() & ": PASS: Expected CA message received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); } [] tc_ac.timeout { - log("*** " & testcasename() & ": INCONC: CAM message not received ***"); + log("*** " & testcasename() & ": INCONC: CA message not received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); } } @@ -1981,7 +2233,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_04 + } // End of function f_CAM_MSD_INA_BV_04 /** * @desc TP Function for TC_CAM_MSD_INA_BV_05 @@ -2010,18 +2262,18 @@ module ItsCam_TpFunctions { f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success); // Set vehicle role - f_utTriggerEvent(m_setVehicleRole(c_vehicleRole_roadWork)); + f_utTriggerEvent(m_setVehicleRole(roadWork)); // Test Body tc_ac.start; alt { [] camPort.receive(mw_camInd ( mw_camMsg_SVC( mw_roadWorks_any ))){ tc_ac.stop; - log("*** " & testcasename() & ": PASS: Expected CAM message received ***"); + log("*** " & testcasename() & ": PASS: Expected CA message received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); } [] tc_ac.timeout { - log("*** " & testcasename() & ": INCONC: CAM message not received ***"); + log("*** " & testcasename() & ": INCONC: CA message not received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); } } @@ -2030,7 +2282,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_05 + } // End of function f_CAM_MSD_INA_BV_05 /** * @desc TP Function for TC_CAM_MSD_INA_BV_06 @@ -2059,18 +2311,18 @@ module ItsCam_TpFunctions { f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success); // Set vehicle role - f_utTriggerEvent(m_setVehicleRole(c_vehicleRole_rescue)); + f_utTriggerEvent(m_setVehicleRole(rescue)); // Test Body tc_ac.start; alt { [] camPort.receive(mw_camInd ( mw_camMsg_SVC( mw_rescue_any ))){ tc_ac.stop; - log("*** " & testcasename() & ": PASS: Expected CAM message received ***"); + log("*** " & testcasename() & ": PASS: Expected CA message received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); } [] tc_ac.timeout { - log("*** " & testcasename() & ": INCONC: CAM message not received ***"); + log("*** " & testcasename() & ": INCONC: CA message not received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); } } @@ -2079,7 +2331,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_06 + } // End of function f_CAM_MSD_INA_BV_06 /** * @desc TP Function for TC_CAM_MSD_INA_BV_07 @@ -2108,18 +2360,18 @@ module ItsCam_TpFunctions { f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success); // Set vehicle role - f_utTriggerEvent(m_setVehicleRole(c_vehicleRole_emergency)); + f_utTriggerEvent(m_setVehicleRole(emergency)); // Test Body tc_ac.start; alt { [] camPort.receive(mw_camInd ( mw_camMsg_SVC( mw_emergency_any ))){ tc_ac.stop; - log("*** " & testcasename() & ": PASS: Expected CAM message received ***"); + log("*** " & testcasename() & ": PASS: Expected CA message received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); } [] tc_ac.timeout { - log("*** " & testcasename() & ": INCONC: CAM message not received ***"); + log("*** " & testcasename() & ": INCONC: CA message not received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); } } @@ -2128,7 +2380,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_07 + } // End of function f_CAM_MSD_INA_BV_07 /** * @desc TP Function for TC_CAM_MSD_INA_BV_08 @@ -2157,18 +2409,18 @@ module ItsCam_TpFunctions { f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success); // Set vehicle role - f_utTriggerEvent(m_setVehicleRole(c_vehicleRole_safetyCar)); + f_utTriggerEvent(m_setVehicleRole(safetyCar)); // Test Body tc_ac.start; alt { [] camPort.receive(mw_camInd ( mw_camMsg_SVC( mw_safetyCar_any ))){ tc_ac.stop; - log("*** " & testcasename() & ": PASS: Expected CAM message received ***"); + log("*** " & testcasename() & ": PASS: Expected CA message received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); } [] tc_ac.timeout { - log("*** " & testcasename() & ": INCONC: CAM message not received ***"); + log("*** " & testcasename() & ": INCONC: CA message not received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); } } @@ -2177,7 +2429,7 @@ module ItsCam_TpFunctions { f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_INA_BV_08 + } // End of function f_CAM_MSD_INA_BV_08 } // end group camInformationAdaptation @@ -2191,7 +2443,7 @@ module ItsCam_TpFunctions { function f_CAM_MSD_GFQ_TI_01() runs on ItsCam { // Local variables - timer t_minTransInterval := PICS_T_GENCAMMIN * 0.90; + timer t_minTransInterval := PICS_T_GENCAMMIN * PX_DEC_TIMER_CONTROL_FACTOR; var SpeedValue v_speedValues[5] := { 1000, 2000, 3000, 4000, 5000 } //cm/s var integer v_cntSpeed, v_cntTime; var FncRetCode v_ret; @@ -2216,11 +2468,11 @@ module ItsCam_TpFunctions { [] camPort.receive(mw_camInd ( mw_camMsg_any )){ tc_ac.stop; t_minTransInterval.start; - log("*** " & testcasename() & ": INFO: Initial conditions: First CAM message received ***"); + log("*** " & testcasename() & ": INFO: Initial conditions: First CA message received ***"); f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success); } [] tc_ac.timeout { - log("*** " & testcasename() & ": INCONC: Initial conditions: CAM message not received ***"); + log("*** " & testcasename() & ": INCONC: Initial conditions: CA message not received ***"); f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_timeout); } } @@ -2231,11 +2483,11 @@ module ItsCam_TpFunctions { v_ret := f_CAM_MSD_GFQ_TI_01_helper(t_minTransInterval); select (v_ret) { case (e_error) { - log("*** " & testcasename() & ": FAIL: CAM message received BEFORE expiry of the minimum generation timer interval ***"); + log("*** " & testcasename() & ": FAIL: CA message received BEFORE expiry of the minimum generation timer interval ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } case (e_timeout) { - log("*** " & testcasename() & ": INCONC: CAM message not received ***"); + log("*** " & testcasename() & ": INCONC: CA message not received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); } } @@ -2244,14 +2496,14 @@ module ItsCam_TpFunctions { f_changeSpeed(v_speedValues[v_cntSpeed]); } t_minTransInterval.stop; - log("*** " & testcasename() & ": PASS: Generation of CAM messages was successful ***"); + log("*** " & testcasename() & ": PASS: Generation of CA messages was successful ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); // Postamble f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_GFQ_TI_01 + } // End of function f_CAM_MSD_GFQ_TI_01 function f_CAM_MSD_GFQ_TI_01_helper(timer t_minTransInterval) runs on ItsCam return FncRetCode { @@ -2285,7 +2537,7 @@ module ItsCam_TpFunctions { function f_CAM_MSD_GFQ_TI_02() runs on ItsCam { // Local variables - timer t_maxTransInterval := PICS_T_GENCAMMAX * 1.10; + timer t_maxTransInterval := PICS_T_GENCAMMAX * PX_INC_TIMER_CONTROL_FACTOR; var integer v_cntSpeed, v_cntTime; var FncRetCode v_ret; @@ -2309,11 +2561,11 @@ module ItsCam_TpFunctions { [] camPort.receive(mw_camInd ( mw_camMsg_any )){ tc_ac.stop; t_maxTransInterval.start; - log("*** " & testcasename() & ": INFO: Initial conditions: First CAM message received ***"); + log("*** " & testcasename() & ": INFO: Initial conditions: First CA message received ***"); f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success); } [] tc_ac.timeout { - log("*** " & testcasename() & ": INCONC: Initial conditions: CAM message not received ***"); + log("*** " & testcasename() & ": INCONC: Initial conditions: CA message not received ***"); f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_timeout); } } @@ -2323,24 +2575,24 @@ module ItsCam_TpFunctions { v_ret := f_CAM_MSD_GFQ_TI_02_helper(t_maxTransInterval); select (v_ret) { case (e_error) { - log("*** " & testcasename() & ": FAIL: No CAM message received BEFORE expiry of the maximum generation timer interval ***"); + log("*** " & testcasename() & ": FAIL: No CA message received BEFORE expiry of the maximum generation timer interval ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } case (e_timeout) { - log("*** " & testcasename() & ": INCONC: CAM message not received ***"); + log("*** " & testcasename() & ": INCONC: CA message not received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); } } } t_maxTransInterval.stop; - log("*** " & testcasename() & ": PASS: Generation of CAM messages was successful ***"); + log("*** " & testcasename() & ": PASS: Generation of CA messages was successful ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); // Postamble f_poDefault(); f_cfDown(); - } // end f_CAM_MSD_GFQ_TI_02 + } // End of function f_CAM_MSD_GFQ_TI_02 function f_CAM_MSD_GFQ_TI_02_helper(timer t_maxTransInterval) runs on ItsCam return FncRetCode { @@ -2398,11 +2650,11 @@ module ItsCam_TpFunctions { [] camPort.receive(mw_camInd ( mw_camMsg_any )) -> value v_camInd { v_receiveTime := int2float(v_camInd.recvTime) / 1000.0; tc_ac.stop; - log("*** " & testcasename() & ": INFO: Initial conditions: First CAM message received ***"); + log("*** " & testcasename() & ": INFO: Initial conditions: First CA message received ***"); log("*** " & testcasename() & ": DEBUG: v_receiveTime=" , v_receiveTime, " ***"); } [] tc_ac.timeout { - log("*** " & testcasename() & ": INCONC: Initial conditions: CAM message not received ***"); + log("*** " & testcasename() & ": INCONC: Initial conditions: CA message not received ***"); f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_timeout); } } @@ -2416,10 +2668,10 @@ module ItsCam_TpFunctions { v_receiveTime := int2float(v_camInd.recvTime) / 1000.0; log("*** " & testcasename() & ": DEBUG: Elapsed time since last CAM: v_interval_1_measured=", v_interval_1_measured, " ***"); log("*** " & testcasename() & ": DEBUG: Elapsed time since last CAM: new v_receiveTime = ", v_receiveTime, " ***"); - log("*** " & testcasename() & ": INFO: Initial conditions: Condition 1 CAM message received ***"); + log("*** " & testcasename() & ": INFO: Initial conditions: Condition 1 CA message received ***"); } [] tc_ac.timeout { - log("*** " & testcasename() & ": INCONC: Initial conditions: Condition 1 CAM message not received ***"); + log("*** " & testcasename() & ": INCONC: Initial conditions: Condition 1 CA message not received ***"); f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_timeout); } } @@ -2438,7 +2690,7 @@ module ItsCam_TpFunctions { log("*** " & testcasename() & ": INCONC: Initial conditions: Condition 2 CAM#", v_i, " message received BEFORE INTERVAL_1 expired ***"); f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_timeout); } - else if (v_measured>v_interval_1_measured * 1.10) { + else if (v_measured>v_interval_1_measured * PX_INC_TIMER_CONTROL_FACTOR) { log("*** " & testcasename() & ": INCONC: Initial conditions: Condition 2 CAM#", v_i, " message not received in time ***"); f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_timeout); } @@ -2460,21 +2712,21 @@ module ItsCam_TpFunctions { [] camPort.receive(mw_camInd ( mw_camMsg_any )) -> value v_camInd { var float v_measured := int2float(v_camInd.recvTime) / 1000.0 - v_receiveTime; log("*** " & testcasename() & ": DEBUG: v_measured=", v_measured, " ***"); - if (v_measured