<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
<testmodule title="Gateway Tester" version="" xmlns="http://www.vector-informatik.de/CANoe/TestModule/1.16">
  <engineer>
    <info>
      <name>Name</name>
      <description></description>
    </info>
  </engineer>

  <testsetup>
    <info>
      <name>Version of test configuration</name>
      <description>1.0</description>
    </info>

  </testsetup>

  <sut>
    <info>
      <name>ECU name</name>
      <description>Gateway</description>
    </info>

    <info>
      <name>ECU version</name>
      <description>1.0</description>
    </info>
  </sut>

  <!-- This Checks works until the end of this testmodule -->
  <!-- ****************************************************************-->

  <conditions>

    <requestresponsecheck timeout="1000ms">
      <request>
        <canmsg id="CarLockingSystem" bus="CAN"></canmsg>
      </request>
      <response>
        <linframe id="GW_Ignition" bus="LIN">
          <signalref name="LockingSystem" refname="ActualState"/> 
        </linframe>
      </response>
    </requestresponsecheck>

    <requestresponsecheck timeout="1000ms">
      <request>
        <canmsg id="Driver_ID" bus="CAN"></canmsg>
      </request>
      <response>
        <linframe id="StoreSeatposition" bus="LIN">
          <signalref name="Storeposition" refname="StoreSeatposition"/> 
        </linframe>
      </response>
    </requestresponsecheck>

    <requestresponsecheck timeout="1000ms">
      <request>
        <canmsg id="Driver_ID" bus="CAN"></canmsg>
      </request>
      <response>
        <linframe id="Seatposition" bus="LIN">
          <signalref name="Driver" refname="Driver"/> 
        </linframe>
      </response>
    </requestresponsecheck>

    <requestresponsecheck timeout="1000ms">
      <request>
        <canmsg id="Ignition" bus="CAN"></canmsg>
      </request>
      <response>
        <linframe id="GW_Ignition" bus="LIN">
          <signalref name="PowerOn" refname="PowerOn"/> 
        </linframe>
      </response>
    </requestresponsecheck>

    <distance max="100ms">
      <reference>
        <canmsg id="Ignition" bus="CAN"/>
      </reference>
      <observed>
        <linframe id="GW_Ignition" bus="LIN"/>
      </observed>
    </distance>

    <distance max="100ms">
      <reference>
        <canmsg id="Driver_ID" bus="CAN"/>
      </reference>
      <observed>
        <linframe id="Seatposition" bus="LIN"/>
      </observed>
    </distance>

</conditions>

  <!-- ****************************************************************** -->
  <!-- ****************************************************************** -->


 <testgroup title="Test the requirements of the SUT">
     <preparation>
		 <initialize wait="100" title="Start Logging">
		   <sysvar name="CAN::LoggingControl">1</sysvar>
		 </initialize>
	</preparation>
  
   <testcase title="Validate Car Locking System" ident=""> 
     <initialize wait="100" title="Initialize all environment variables">
       <sysvar name="CAN::IgnitionSwitch">0</sysvar>
       <sysvar name="CAN::OpenCar">1</sysvar> 
       <sysvar name="CAN::Driver">0</sysvar>
     </initialize>
     <statechange wait="1000" title="Request to open the car and verify the execution">
       <in>
         <cansignal name="ActualState" msg="CarLockingSystem" bus="CAN">1</cansignal>
         <cansignal name="PowerOn" msg="Ignition" bus="CAN">0</cansignal>
       </in>
       <expected>
         <cansignal name="ActualState" msg="CarLockingSystem" bus="CAN"><eq>1</eq></cansignal>
         <cansignal name="PowerOn" msg="Ignition" bus="CAN"><eq>0</eq></cansignal>
       </expected>
     </statechange>
   </testcase>

   <testcase title="Validate Engine Activation" ident=""> 
     <initialize wait="100" title="Initialize all environment variables">
       <sysvar name="CAN::IgnitionSwitch">1</sysvar>
       <sysvar name="CAN::OpenCar">1</sysvar>
       <sysvar name="CAN::Driver">0</sysvar>
     </initialize>
     <statechange wait="1000" title="Request to start the engine and verify the execution">
       <in>
         <cansignal name="ActualState" msg="CarLockingSystem" bus="CAN">1</cansignal>
         <cansignal name="PowerOn" msg="Ignition" bus="CAN">1</cansignal>
       </in>
       <expected>
         <cansignal name="ActualState" msg="CarLockingSystem" bus="CAN"><eq>1</eq></cansignal>
         <cansignal name="PowerOn" msg="Ignition" bus="CAN"><eq>1</eq></cansignal>
       </expected>
     </statechange>
     <statechange wait="1000" title="Request to stop the engine and verify the execution">
       <in>
         <cansignal name="ActualState" msg="CarLockingSystem" bus="CAN">1</cansignal>
         <cansignal name="PowerOn" msg="Ignition" bus="CAN">0</cansignal>
       </in>
       <expected>
         <cansignal name="ActualState" msg="CarLockingSystem" bus="CAN"><eq>1</eq></cansignal>
         <cansignal name="PowerOn" msg="Ignition" bus="CAN"><eq>0</eq></cansignal>
       </expected>
     </statechange>
  </testcase>

  <testcase title="Validate Driver Setting Toggling" ident=""> 
     <initialize wait="100" title="Initialize all environment variables">
       <sysvar name="CAN::IgnitionSwitch">0</sysvar>
       <sysvar name="CAN::OpenCar">1</sysvar>
       <sysvar name="CAN::Driver">1</sysvar>
     </initialize>
     <statechange wait="1000" title="Request to apply settings for the first driver and verify the execution">
       <in>
         <cansignal name="ActualState" msg="CarLockingSystem" bus="CAN">1</cansignal>
         <cansignal name="PowerOn" msg="Ignition" bus="CAN">0</cansignal>
         <cansignal name="Driver" msg="Driver_ID" bus="CAN">1</cansignal>
       </in>
       <expected>
         <cansignal name="ActualState" msg="CarLockingSystem" bus="CAN"><eq>1</eq></cansignal>
         <cansignal name="PowerOn" msg="Ignition" bus="CAN"><eq>0</eq></cansignal>
         <cansignal name="Driver" msg="Driver_ID" bus="CAN"><eq>1</eq></cansignal>
       </expected>
     </statechange>
     <initialize wait="100" title="Initialize all environment variables">
       <sysvar name="CAN::IgnitionSwitch">0</sysvar>
       <sysvar name="CAN::OpenCar">1</sysvar>
       <sysvar name="CAN::Driver">0</sysvar>
     </initialize>
     <statechange wait="1000" title="Request to apply settings for the second driver and verify the execution">
       <in>
         <cansignal name="ActualState" msg="CarLockingSystem" bus="CAN">1</cansignal>
         <cansignal name="PowerOn" msg="Ignition" bus="CAN" >0</cansignal>
         <cansignal name="Driver" msg="Driver_ID" bus="CAN">0</cansignal>
       </in>
       <expected>
         <cansignal name="ActualState" msg="CarLockingSystem" bus="CAN"><eq>1</eq></cansignal>
         <cansignal name="PowerOn" msg="Ignition" bus="CAN"><eq>0</eq></cansignal>
         <cansignal name="Driver" msg="Driver_ID" bus="CAN"><eq>0</eq></cansignal>
       </expected>
     </statechange>
  </testcase>

  <testcase title="Observe bus activity for 5 seconds" ident="">
    <untilend title="" wait="5s"/>
  </testcase>

<completion>
    <initialize title="Stop Logging">
      <sysvar name="CAN::LoggingControl">0</sysvar>
    </initialize>
</completion>

</testgroup>
</testmodule>




			

