<?xml version="1.0" encoding="iso-8859-1"?>
<!--Vector Test Automation Editor 2.1.28.0-->
<testmodule title="Vector XML Testmodul 2" version="1.0" xmlns="http://www.vector-informatik.de/CANoe/TestModule/1.27">
  <testgroup title="TC1_WaitForMessages">
    <testcase title="TC1_1_WaitForEngineData" ident="">
      <conditions>
        <occurrencetime_rel title="WaitForEngineData" min="1" max="10">
          <canmsg id="EngineData" />
        </occurrencetime_rel>
      </conditions>
      <wait title="WaitForMessags" time="1000" />
    </testcase>
    <testcase title="TC1_2_WaitForEngineStatus" ident="">
      <conditions>
        <occurrencetime_rel title="WaitForEngineData" min="1" max="10">
          <canmsg id="EngineData" />
        </occurrencetime_rel>
      </conditions>
      <wait title="WaitForMessags" time="100" />
    </testcase>
    <testcase title="TC1_3_WaitForEngineData" ident="">
      <conditions>
        <occurrencetime_rel title="WaitForEngineData" min="1" max="10">
          <canmsg id="Ignition_Info" />
        </occurrencetime_rel>
      </conditions>
      <wait title="WaitForMessags" time="500" />
    </testcase>
  </testgroup>
  <testgroup title="TC2_Checks">
    <testcase title="TC2_1_1_CheckInvalidDLC" ident="">
      <conditions>
        <dlc_ok title="InvalidDlc">
          <node name="Engine" />
        </dlc_ok>
      </conditions>
      <wait title="WaitForMessages" time="5000" />
    </testcase>
    <testcase title="TC2_1_2_InvalidDLCByNodeTx" ident="">
      <conditions>
        <dlc_ok title="InvalidDlc" dir="tx">
          <node name="Engine" />
        </dlc_ok>
      </conditions>
      <wait title="WaitForMessages" time="5000" />
    </testcase>
    <testcase title="TC2_1_3_InvalidDLCByNodeRx" ident="">
      <conditions>
        <dlc_ok title="InvalidDlc" dir="rx">
          <node name="Engine" />
        </dlc_ok>
      </conditions>
      <wait title="WaitForMessages" time="5000" />
    </testcase>
    <testcase title="TC2_2_CheckRequestResponse" ident="">
      <conditions>
        <requestresponsecheck timeout="110" title="RequestResponseCheck" observetime="120" mintime="50" one2one="yes">
          <request sendinterval="100">
            <canmsg id="EngineData" />
          </request>
          <response joincondition="and">
            <canmsg id="Gateway_2">
              <byteref pos="3" refpos="12" />
              <byteref pos="4" refpos="13" />
            </canmsg>
          </response>
        </requestresponsecheck>
      </conditions>
      <wait title="WaitForMeasurement" time="2000" />
    </testcase>
    <testcase title="TC2_3_1_Fallback Observation_Good_Case" ident="">
      <preparation>
        <vardef name="xmlLoopVar" type="int" default="0">0</vardef>
      </preparation>
      <conditions>
        <fallbackcheck timeout="50" title="Fallback check for CAN FD messages" observetime="70">
          <ondropout time="210">
            <canmsg id="DropOutMessage" />
          </ondropout>
          <fallback>
            <canmsg id="FallbackMessage">
              <signal name="FallbackMessage_Byte_06_10">1</signal>
            </canmsg>
          </fallback>
        </fallbackcheck>
      </conditions>
      <for_loop title="ObserveSeveralTimes" loopvar="xmlLoopVar" stopvalue="100" startvalue="0" increment="1">
        <choice title="Send DropOutMessage or Fallback Message">
          <if>
            <condition>
              <vareval name="xmlLoopVar">
                <lt>50</lt>
              </vareval>
            </condition>
            <body>
              <set title="Send DropOutMessage">
                <canmsg id="DropOutMessage">
                  <signal name="DropOutMessage_Byte_06_10">1</signal>
                </canmsg>
              </set>
            </body>
          </if>
          <else>
            <wait title="Wait half of fallback checks  time out" time="25" />
            <set title="Send FallbackMessage">
              <canmsg id="FallbackMessage">
                <signal name="FallbackMessage_Byte_06_10">1</signal>
              </canmsg>
            </set>
          </else>
        </choice>
        <wait title="WaitForObservation" time="200" />
      </for_loop>
    </testcase>
    <testcase title="TC2_3_2_Fallback Observation_Bad_Case" ident="">
      <preparation>
        <vardef name="xmlLoopVar" type="int" default="0">0</vardef>
      </preparation>
      <conditions>
        <fallbackcheck timeout="50" title="Fallback check for CAN FD messages" observetime="70">
          <ondropout time="210">
            <canmsg id="DropOutMessage" />
          </ondropout>
          <fallback>
            <canmsg id="FallbackMessage">
              <signal name="FallbackMessage_Byte_06_10">1</signal>
            </canmsg>
          </fallback>
        </fallbackcheck>
      </conditions>
      <for_loop title="ObserveSeveralTimes" loopvar="xmlLoopVar" stopvalue="100" startvalue="0" increment="1">
        <choice title="Send DropOutMessage or Fallback Message">
          <if>
            <condition>
              <vareval name="xmlLoopVar">
                <lt>50</lt>
              </vareval>
            </condition>
            <body>
              <set title="Send DropOutMessage">
                <canmsg id="DropOutMessage">
                  <signal name="DropOutMessage_Byte_06_10">1</signal>
                </canmsg>
              </set>
            </body>
          </if>
          <else>
            <wait title="Wait half of fallback checks  time out" time="25" />
            <set title="Send FallbackMessage">
              <canmsg id="FallbackMessage">
                <signal name="FallbackMessage_Byte_06_10">0</signal>
              </canmsg>
            </set>
          </else>
        </choice>
        <wait title="WaitForObservation" time="200" />
      </for_loop>
    </testcase>
  </testgroup>
  <testcase title="TC3_ChangeSignalValues" ident="">
    <conditions>
      <valuedependency timeout="1000" mintime="1" title="Data bytes change values">
        <while>
          <cansignal name="Test_Signal_Byte_00">0</cansignal>
        </while>
        <match>
          <cansignal name="Test_Signal_Byte_01_02">65</cansignal>
          <cansignal name="Test_Signal_Byte_03_05">65</cansignal>
          <cansignal name="Test_Signal_Byte_06_09">65</cansignal>
          <cansignal name="Test_Signal_Byte_10_14">65</cansignal>
          <cansignal name="Test_Signal_Byte_15_20">65</cansignal>
          <cansignal name="Test_Signal_Byte_21_27">65</cansignal>
          <cansignal name="Test_Signal_Byte_28_34">65</cansignal>
          <cansignal name="Test_Signal_Byte_35_41">65</cansignal>
          <cansignal name="Test_signal_Byte_42_48">65</cansignal>
          <cansignal name="Test_signal_Byte_49_55">65</cansignal>
          <cansignal name="Test_signal_Byte_56_62">65</cansignal>
          <cansignal name="Test_Signal_Byte_63">65</cansignal>
        </match>
      </valuedependency>
    </conditions>
    <set title="Set Data Bytes">
      <cansignal name="Test_Signal_Byte_01_02">65</cansignal>
      <cansignal name="Test_Signal_Byte_03_05">65</cansignal>
      <cansignal name="Test_Signal_Byte_06_09">65</cansignal>
      <cansignal name="Test_Signal_Byte_10_14">65</cansignal>
      <cansignal name="Test_Signal_Byte_15_20">65</cansignal>
      <cansignal name="Test_Signal_Byte_21_27">65</cansignal>
      <cansignal name="Test_Signal_Byte_28_34">65</cansignal>
      <cansignal name="Test_Signal_Byte_35_41">65</cansignal>
      <cansignal name="Test_signal_Byte_42_48">65</cansignal>
      <cansignal name="Test_signal_Byte_49_55">65</cansignal>
      <cansignal name="Test_signal_Byte_56_62">65</cansignal>
      <cansignal name="Test_Signal_Byte_63">65</cansignal>
    </set>
    <wait title="Wait for set data byte" time="1000" />
  </testcase>
  <testgroup title="TC5_CheckCylceTime">
    <testcase title="Check cycle time EngineData &amp;&amp; EngSpeed" ident="">
      <conditions>
        <cycletime_rel min="0.9" max="1.1" title="Check Message cycle time relative">
          <canmsg id="EngineData" />
        </cycletime_rel>
        <cycletime_abs min="90" max="110" title="Check message cycle time absolute">
          <canmsg id="EngineData" />
        </cycletime_abs>
        <signal_cycletime_abs title="Check signal cycle time absolute" min="90" max="110">
          <cansignal name="EngSpeed" msg="EngineData" node="Engine" />
        </signal_cycletime_abs>
      </conditions>
      <wait title="WaitForCheckCycleTimes" time="5000" />
    </testcase>
  </testgroup>
  <testcase title="TC6_RequestResponse Pattern DB Message" ident="">
    <requestresponse title="RequestResponse Pattern DB Message" timeout="140">
      <request sendinterval="100">
        <canmsg id="EngineData" dlc="12">
          <byte pos="45">20</byte>
        </canmsg>
      </request>
      <response>
        <canmsg id="EngineData" />
      </response>
    </requestresponse>
  </testcase>
</testmodule>