Commit e691e238 authored by garciay's avatar garciay
Browse files

UpperTester/CAM validation

parent 17132304
Loading
Loading
Loading
Loading
+142 −6
Original line number Diff line number Diff line
@@ -251,11 +251,11 @@ module TestCodec_CAM {
       * @desc Validate template Cam/UtCamSetExteriorLightsStatus
       * @verdict Pass on success, Fail otherwise
       */
      testcase tc_Cam_UtCamSetExteriorLightsStatus() runs on TCType system TCType {
      testcase tc_Cam_UtCamSetExteriorLightsStatus_lowBeamHeadlightsOn() runs on TCType system TCType {
        var bitstring v_encMsg;
        var integer v_res := 0;
        var bitstring v_expEncMsg := oct2bit('3310'O);
        var template (value) UtCamTrigger v_exteriorLightsStatus := { setExteriorLightsStatus := '00010000'B };
        var bitstring v_expEncMsg := oct2bit('3380'O);
        var template (value) UtCamTrigger v_exteriorLightsStatus := { setExteriorLightsStatus := '10000000'B };
    
        // Encode template
        log("Encode template ", valueof(v_exteriorLightsStatus));
@@ -272,7 +272,88 @@ module TestCodec_CAM {
          stop;
        }
        setverdict(pass, "Encoding passed.");
      } // End of tc_Cam_UtCamSetExteriorLightsStatus
      } // End of tc_Cam_UtCamSetExteriorLightsStatus_lowBeamHeadlightsOn
      
      /**
       * @desc Validate template Cam/UtCamSetExteriorLightsStatus
       * @verdict Pass on success, Fail otherwise
       */
      testcase tc_Cam_UtCamSetExteriorLightsStatus_leftTurnSignalOn() runs on TCType system TCType {
        var bitstring v_encMsg;
        var integer v_res := 0;
        var bitstring v_expEncMsg := oct2bit('3320'O);
        var template (value) UtCamTrigger v_exteriorLightsStatus := { setExteriorLightsStatus := '00100000'B };
    
        // Encode template
        log("Encode template ", valueof(v_exteriorLightsStatus));
        v_encMsg := encvalue(v_exteriorLightsStatus);
        log("Encoded message:  ", bit2oct(v_encMsg));
        // Check result
        if (not isbound(v_encMsg)) {
          setverdict(fail, "Encoding failed!");
          stop;
        }
        if (not match(v_encMsg, v_expEncMsg)) {
          log("Expected message: ", bit2oct(valueof(v_expEncMsg)));
          setverdict(fail, "Encoding failed, not the expected result!");
          stop;
        }
        setverdict(pass, "Encoding passed.");
      } // End of tc_Cam_UtCamSetExteriorLightsStatus_leftTurnSignalOn
      
      /**
       * @desc Validate template Cam/UtCamSetExteriorLightsStatus
       * @verdict Pass on success, Fail otherwise
       */
      testcase tc_Cam_UtCamSetExteriorLightsStatus_daytimeRunningLightsOn() runs on TCType system TCType {
        var bitstring v_encMsg;
        var integer v_res := 0;
        var bitstring v_expEncMsg := oct2bit('3308'O);
        var template (value) UtCamTrigger v_exteriorLightsStatus := { setExteriorLightsStatus := '00001000'B };
    
        // Encode template
        log("Encode template ", valueof(v_exteriorLightsStatus));
        v_encMsg := encvalue(v_exteriorLightsStatus);
        log("Encoded message:  ", bit2oct(v_encMsg));
        // Check result
        if (not isbound(v_encMsg)) {
          setverdict(fail, "Encoding failed!");
          stop;
        }
        if (not match(v_encMsg, v_expEncMsg)) {
          log("Expected message: ", bit2oct(valueof(v_expEncMsg)));
          setverdict(fail, "Encoding failed, not the expected result!");
          stop;
        }
        setverdict(pass, "Encoding passed.");
      } // End of tc_Cam_UtCamSetExteriorLightsStatus_daytimeRunningLightsOn
      
      /**
       * @desc Validate template Cam/UtCamSetExteriorLightsStatus
       * @verdict Pass on success, Fail otherwise
       */
      testcase tc_Cam_UtCamSetExteriorLightsStatus_parkingLightsOn() runs on TCType system TCType {
        var bitstring v_encMsg;
        var integer v_res := 0;
        var bitstring v_expEncMsg := oct2bit('3301'O);
        var template (value) UtCamTrigger v_exteriorLightsStatus := { setExteriorLightsStatus := '00000001'B };
    
        // Encode template
        log("Encode template ", valueof(v_exteriorLightsStatus));
        v_encMsg := encvalue(v_exteriorLightsStatus);
        log("Encoded message:  ", bit2oct(v_encMsg));
        // Check result
        if (not isbound(v_encMsg)) {
          setverdict(fail, "Encoding failed!");
          stop;
        }
        if (not match(v_encMsg, v_expEncMsg)) {
          log("Expected message: ", bit2oct(valueof(v_expEncMsg)));
          setverdict(fail, "Encoding failed, not the expected result!");
          stop;
        }
        setverdict(pass, "Encoding passed.");
      } // End of tc_Cam_UtCamSetExteriorLightsStatus_parkingLightsOn
      
      /**
       * @desc Validate template Cam/UtCamChangeHeading
@@ -333,7 +414,33 @@ module TestCodec_CAM {
      testcase tc_Cam_UtCamChangeYawRate() runs on TCType system TCType {
        var bitstring v_encMsg;
        var integer v_res := 0;
        var bitstring v_expEncMsg := oct2bit('360010'O);
        var bitstring v_expEncMsg := oct2bit('360080'O);
    
        // Encode template
        log("Encode template ", valueof(m_changeYawRate(128)));
        v_encMsg := encvalue(m_changeYawRate(128));
        log("Encoded message:  ", bit2oct(v_encMsg));
        // Check result
        if (not isbound(v_encMsg)) {
          setverdict(fail, "Encoding failed!");
          stop;
        }
        if (not match(v_encMsg, v_expEncMsg)) {
          log("Expected message: ", bit2oct(valueof(v_expEncMsg)));
          setverdict(fail, "Encoding failed, not the expected result!");
          stop;
        }
        setverdict(pass, "Encoding passed.");
      } // End of tc_Cam_UtCamChangeYawRate
      
      /**
       * @desc Validate template Cam/UtCamChangeYawRate
       * @verdict Pass on success, Fail otherwise
       */
      testcase tc_Cam_UtCamChangeYawRate_negative() runs on TCType system TCType {
        var bitstring v_encMsg;
        var integer v_res := 0;
        var bitstring v_expEncMsg := oct2bit('36FF80'O);
    
        // Encode template
        log("Encode template ", valueof(m_changeYawRate(-128)));
@@ -350,7 +457,7 @@ module TestCodec_CAM {
          stop;
        }
        setverdict(pass, "Encoding passed.");
      } // End of tc_Cam_UtCamChangeYawRate
      } // End of tc_Cam_UtCamChangeYawRate_negative
      
      /**
       * @desc Validate template Cam/UtCamSetStationType
@@ -544,6 +651,35 @@ module TestCodec_CAM {
        }
      } // End of tc_Cam_UtCamEventInd_1

      /**
       * @desc Validate decoding of Cam/UtCamEventInd
       * @verdict Pass on success, Fail otherwise
       */
      testcase tc_Cam_UtCamEventInd_2() runs on TCType system TCType {
        var bitstring v_binary := oct2bit('23002a01020000270f0067005a4a735b0d4a2928dfffffe00030d40040000fc0007e3fe9ed0737530f1fffb000'O);
        var UtCamEventInd v_decMsg;
        var integer v_res := 0;
        
        // Decode template
        v_res := decvalue(v_binary, v_decMsg);
        log("Decoded message: ", v_decMsg);
        select (v_res) {
        case (0) {
          if(match(v_decMsg.camMsg, mw_camMsg_HF_BV(mw_HF_BV_yawRate(?)))) {
            setverdict(pass);
          } else {
            setverdict(fail);
          }
        }
        case (1) {
          setverdict(fail, "Decoding failed.");
        }
        case (2) {
          setverdict(fail, "Not enough bits.");
        }
        }
      } // End of tc_Cam_UtCamEventInd_2

    } // End of group testCamUpperTester
    
    group testCamPort {