﻿<?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="AudioDiskPlayer" 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="AudioDiskPlayer" 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>