﻿<?xml version="1.0" encoding="utf-8"?>
<!--Vector Test Automation Editor 1.1.55.0-->
<testmodule title="FunctionsInFBlock" version="Version" xmlns="http://www.vector-informatik.de/CANoe/TestModule/1.16">
  <sut>
    <info>
      <name>MOST Audio Device</name>
      <description>This is just a demo test specification that serves as an example.</description>
    </info>
  </sut>
  <engineer>
    <info>
      <name>Name</name>
      <description>Department</description>
    </info>
    <info>
      <name>Company</name>
      <description>Location</description>
    </info>
  </engineer>
  <testsetup>
    <info>
      <name>FunctionsInFBlock pattern</name>
      <description>
			This pattern checks the availability of functions in a FBlock. There are several ways to provide 
			the input list of functions to be checked:
			1. The attribute 'usefcat' allows to take the functions defined in the XML catalog for that FBlock to 
			   be added to the input list.
			2. The attribute 'match' determines, whether the input list must match exactly or can just be a subset 
			   of the existing functions in the FBlock.
			3. The 'inlist' parameter can provide a list of functions directly. The 'inlist' parameter may be used
			   in concert with the function catalog. However, the catalog is not used, the 'inlist' parameter must
			   be provided.
			4. The 'exceptionlist' parameter is used to provide functionIds that should be excluded from the check.
			</description>
    </info>
  </testsetup>
  <testgroup title="A collection of tests for the FunctionsInFBlock pattern">
    <testcase ident="Case 1" title="Test of match=subset">
      <functionsinfblock sut="0x101" timeout="100" title="FunctionsInFBlock Pattern" fblock="AudioDiskPlayer" instance="1" match="subset" usefcat="no">
        <inlist>
          <function id="0x0" />
          <function id="0x1" />
          <function id="0x101" />
          <function id="0x102" />
          <function id="0x200" />
          <function id="0x202" />
          <function id="0x413" />
        </inlist>
      </functionsinfblock>
    </testcase>
    <testcase ident="Case 2" title="Test of match=exact and exceptionlist">
      <functionsinfblock sut="0x101" timeout="100" title="FunctionsInFBlock Pattern" fblock="0x31" instance="1" match="exact" usefcat="no">
        <inlist>
          <function id="FktIDs" />
          <function id="Notification" />
          <function id="Allocate" />
          <function id="Deallocate" />
          <function id="DeckStatus" />
          <function id="TrackPosition" />
          <function id="MediaInfo" />
          <function id="TimePosition" />
        </inlist>
        <exceptionlist>
          <function id="TimePosition" />
        </exceptionlist>
      </functionsinfblock>
    </testcase>
    <testcase ident="Case 3" title="Test of usefcat=yes">
      <functionsinfblock sut="0x101" timeout="100" title="FunctionsInFBlock Pattern" fblock="0x31" instance="1" match="subset" usefcat="yes">
        <exceptionlist>
          <function id="SourceInfo" />
          <function id="SourceName" />
          <function id="SyncDataInfo" />
          <function id="TimePosition" />
          <function id="FramePosition" />
        </exceptionlist>
      </functionsinfblock>
    </testcase>
  </testgroup>
</testmodule>