<!--Copyright (c) 2000-2019 Ericsson Telecom AB

All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v2.0
which accompanies this distribution, and is available at
http:www.eclipse.org/legal/epl-v10.html                           -->
<!DOCTYPE TITAN_GUI_project_file>
<Project TITAN_version="1.8.pre0 build 1" >
    <General>
        <Project_Name>EPTF_RBT_Test</Project_Name>
        <Executable_Path>bin/EPTF_RBT_Test</Executable_Path>
        <Working_Dir>bin</Working_Dir>
        <Build_Host>alpha</Build_Host>
        <Execution_Mode>Parallel</Execution_Mode>
        <Log_Format>yes</Log_Format>
        <GNU_Make>yes</GNU_Make>
        <Update_Symlinks>yes</Update_Symlinks>
        <Create_Absolute_Symlinks>no</Create_Absolute_Symlinks>
        <Update_Makefile>yes</Update_Makefile>
        <Localhost_Execute>yes</Localhost_Execute>
        <Execute_Command>rsh %host &quot;cd %project_working_dir ; &quot;%executable&quot; %localhost %mctr_port&quot;</Execute_Command>
        <Execute_Hosts>alfa, beta, gamma</Execute_Hosts>
        <UnUsed_List></UnUsed_List>
    </General>
    <Modules>
        <Module>../../../TCCUsefulFunctions_CNL113472/src/TCCEnv_Functions.ttcn</Module>
    </Modules>
    <Other_Sources>
        <Other_Source>../../../TCCUsefulFunctions_CNL113472/src/TCCEnv.cc</Other_Source>
    </Other_Sources>
    <Configs>
        <Config>EPTF_RBT_Test.cfg</Config>
    </Configs>
    <Test_Cases>
        <Test_Case>EPTF_RBT_Test.control</Test_Case>
        <Test_Case>EPTF_RBT_Test.tc_RBT_Test_testIntegerRBTGrowage</Test_Case>
        <Test_Case>EPTF_RBT_Test.tc_RBT_Test_testFloatRBTGrowage</Test_Case>
        <Test_Case>EPTF_RBT_Test.tc_EPTF_RBTreeF_initFloatTree</Test_Case>
        <Test_Case>EPTF_RBT_Test.tc_EPTF_RBTreeI_initIntegerTree</Test_Case>
        <Test_Case>EPTF_RBT_Test.tc_EPTF_RBTreeI_createNewIntegerNode</Test_Case>
        <Test_Case>EPTF_RBT_Test.tc_EPTF_RBTreeI_removeIntegerNodeWithSameKey</Test_Case>
        <Test_Case>EPTF_RBT_Test.tc_EPTF_RBTreeI_removeIntegerNode</Test_Case>
        <Test_Case>EPTF_RBT_Test.tc_EPTF_RBTreeF_removeFloatNodeWithSameKey</Test_Case>
        <Test_Case>EPTF_RBT_Test.tc_EPTF_RBTreeI_getIntegerElementNodeByKey</Test_Case>
        <Test_Case>EPTF_RBT_Test.tc_EPTF_RBTreeF_getFloatNodeByKey</Test_Case>
        <Test_Case>EPTF_RBT_Test.tc_EPTF_RBTreeI_searchSmallestIntegerNode</Test_Case>
        <Test_Case>EPTF_RBT_Test.tc_EPTF_RBTreeI_getBusyEventHeadIndex</Test_Case>
        <Test_Case>EPTF_RBT_Test.tc_EPTF_RBTreeF_searchSmallestNode</Test_Case>
        <Test_Case>EPTF_RBT_Test.tc_EPTF_RBTreeF_getSmallestNodeFromCache</Test_Case>
        <Test_Case>EPTF_RBT_Test.tc_EPTF_RBTreeF_getBusyEventHeadIndex</Test_Case>
        <Test_Case>EPTF_RBT_Test.tc_EPTF_RBTree_getNextSmallestFloatElementIndex</Test_Case>
    </Test_Cases>
  <File_Groups>
    <File_Group name="MainFileGroup" >
        <File_Group name="RBT_Test" >
            <File path="EPTF_RBT_Test.ttcn" />
        </File_Group>
    </File_Group>
    <File_Group path="../../src/RedBlackTree/EPTF_CLL_RedBlackTree_Dep.grp" />
    <File_Group path="../../src/Base/EPTF_CLL_Base.grp" />
 </File_Groups>
</Project>
