STR_String * MSG_Message :: AssembleMessage( ) { // Assemble with existing message string STR_String * messageString = new STR_String( idMessage ) ; if ( memcmp( STR_ID_NOT_FOUND , messageString->GetString( ) , strlen( STR_ID_NOT_FOUND )) != 0 ) { DoAssemble( messageString ) ; return messageString ; } /* end if */ delete messageString ; messageString = NULL ; // Assemble with error message string id // Assemble with error message string messageString = new STR_String( MSG_ErrorIdNotFound ) ; if ( vtItems[ INX_LAST_ITEM ] != NULL ) { delete vtItems[ INX_LAST_ITEM ] ; } /* if */ vtItems[ INX_LAST_ITEM ] = new MSG_ItemInteger( idMessage & STR_ID ) ; DoAssemble( messageString ) ; // Append items to nonexisting message char ASCIINum[ BCD_DIM_MAX_ASCII ] ; STR_String Separator( MSG_Separator ) ; STR_String SeparatorEnd( MSG_SeparatorEnd ) ; for( int i = 0 ; i < MSG_DIM_ITEMS - 1 ; i ++ ) { if ( vtItems[ i ] != NULL ) { messageString->Append( Separator ) ; sprintf( ASCIINum , "%d" , i ) ; messageString->Append( ASCIINum ) ; messageString->Append( SeparatorEnd ) ; STR_String * pItemStr = vtItems[ i ]->ToString() ; messageString->Append( pItemStr ) ; delete pItemStr ; } /* if */ } /* for */ return messageString ; } // End of function: MSG !Assemble the message string
TST_tpRetCode TST_TestSpecific :: PerformSpecificTest( char * Command ) { // Interpret TMSG Reset // AE: Reset if ( strcmp( Command , Reset_CMD ) == 0 ) { for ( int i = 0 ; i < TMSG_dimVtObj ; i++ ) { delete vtObj[ i ] ; vtObj[ i ] = NULL ; } /* for */ return TST_RetCodeOK ; } // end selection: Interpret TMSG Reset // Test: MSG Message constructor // AE: NewMessage <inxMsg> <i idString> else if ( strcmp( Command , MSG_CMessage_004_CMD ) == 0 ) { /***** Function MSG_Message( const long idMessageParm ) *****/ int inxObj = -1 ; int idString = -1 ; int numRead = TST_pReader->ReadCommandLine( "ii" , &inxObj , &idString ) ; if ( ( numRead != 2 ) || !VerifyInxElem( inxObj , NO )) { return TST_RetCodeParmError ; } /* if */ MSG_Message * pMsg ; switch ( idString ) { case 1 : pMsg = new MSG_Message( TSTMSG_1_0Fields ) ; break ; case 2 : pMsg = new MSG_Message( TSTMSG_2_1FieldBeg ) ; break ; case 3 : pMsg = new MSG_Message( TSTMSG_3_1FieldMid ) ; break ; case 4 : pMsg = new MSG_Message( TSTMSG_4_1FieldEnd ) ; break ; case 5 : pMsg = new MSG_Message( TSTMSG_5_2FieldsBeg ) ; break ; case 6 : pMsg = new MSG_Message( TSTMSG_6_2FieldsMid ) ; break ; case 7 : pMsg = new MSG_Message( TSTMSG_7_2FieldsEnd ) ; break ; case 8 : pMsg = new MSG_Message( TSTMSG_8_3Fields ) ; break ; case 9 : pMsg = new MSG_Message( TSTMSG_9_1Field ) ; break ; default : pMsg = new MSG_Message( idString | STR_MEM ) ; break ; } /* switch */ vtObj[ inxObj ] = pMsg ; return TST_RetCodeOK ; } // end selection: Test: MSG Message constructor // Test: MSG Message destructor // AE: DestroyMessage <inxMsg> else if ( strcmp( Command , DeleteMSG_CMessage_005_CMD ) == 0 ) { /***** Function ~MSG_Message( ) *****/ int inxObj = -1 ; int numRead = TST_pReader->ReadCommandLine( "i" , &inxObj ) ; if ( ( numRead != 1 ) || !VerifyInxElem( inxObj , ANY )) { return TST_RetCodeParmError ; } /* if */ delete vtObj[ inxObj ] ; vtObj[ inxObj ] = NULL ; return TST_RetCodeOK ; } // end selection: Test: MSG Message destructor // Test: MSG Add string item // AE: AddStringItem <inxMsg> <i inxItem> <i idMode> <s String> else if ( strcmp( Command , AddItem_006_CMD ) == 0 ) { /***** Function void AddItem( const int Index , MSG_MessageItem * pItem ) *****/ int inxObj = -1 ; int inxItem = -1 ; int idMode = -1 ; int sizStr = -1 ; char Str[ TAL_dimBuffer ] ; int numRead = TST_pReader->ReadCommandLine( "iiis" , &inxObj , &inxItem , &idMode , &sizStr , Str ) ; if ( ( numRead != 4 ) || !VerifyInxElem( inxObj , YES )) { return TST_RetCodeParmError ; } /* if */ if ( Str[ 0 ] == '.' ) { Str[ 0 ] = 0 ; sizStr = 0 ; } /* if */ STR_String StrVal ; MSG_ItemString * pItemString = NULL ; STR_String * pStr = NULL ; switch ( idMode ) { case 1 : // char * pItemString = new MSG_ItemString( Str ) ; break ; case 2 : // STR_String * pStr = new STR_String( Str ) ; pItemString = new MSG_ItemString( pStr ) ; delete pStr ; pStr = NULL ; break ; case 3 : StrVal = Str ; // STR_String value pItemString = new MSG_ItemString( StrVal ) ; break ; case 4 : // len , char * pItemString = new MSG_ItemString( sizStr , Str ) ; break ; default : return TST_RetCodeParmError ; } /* switch */ vtObj[ inxObj ]->AddItem( inxItem , pItemString ) ; return TST_RetCodeOK ; } // end selection: Test: MSG Add string item // Test: MSG Add id string item // AE: AddIdStringItem <inxMsg> <i inxItem> <i idString> else if ( strcmp( Command , AddIdItem_106_CMD ) == 0 ) { /***** Function void AddItem( const int Index , MSG_MessageItem * pItem ) *****/ int inxObj = -1 ; int inxItem = -1 ; int idStr = -1 ; int numRead = TST_pReader->ReadCommandLine( "iii" , &inxObj , &inxItem , &idStr ) ; if ( ( numRead != 3 ) || !VerifyInxElem( inxObj , YES )) { return TST_RetCodeParmError ; } /* if */ vtObj[ inxObj ]->AddItem( inxItem , new MSG_ItemString( idStr )) ; return TST_RetCodeOK ; } // end selection: Test: MSG Add id string item // Test: MSG Add integer item // AE: AddIntegerItem <inxMsg> <i inxItem> <i Value> else if ( strcmp( Command , AddIntegerItem_CMD ) == 0 ) { /***** Function void AddItem( const int Index , MSG_MessageItem * pItem ) *****/ int inxObj = -1 ; int inxItem = -1 ; int Value = -1 ; int numRead = TST_pReader->ReadCommandLine( "iii" , &inxObj , &inxItem , &Value ) ; if ( ( numRead != 3 ) || !VerifyInxElem( inxObj , YES )) { return TST_RetCodeParmError ; } /* if */ vtObj[ inxObj ]->AddItem( inxItem , new MSG_ItemInteger( Value )) ; return TST_RetCodeOK ; } // end selection: Test: MSG Add integer item // Test: MSG Add BCD item // AE: AddBCDItem <inxMsg> <i inxItem> <i idMode> <s String> else if ( strcmp( Command , AddBCDItem_CMD ) == 0 ) { /***** Function void AddItem( const int Index , MSG_MessageItem * pItem ) *****/ int inxObj = -1 ; int inxItem = -1 ; int sizBCD = -1 ; char ValueBCD[ TAL_dimBuffer ] ; int numRead = TST_pReader->ReadCommandLine( "iis" , &inxObj , &inxItem , &sizBCD , ValueBCD ) ; if ( ( numRead != 3 ) || ( sizBCD >= 12 ) || !VerifyInxElem( inxObj , YES )) { return TST_RetCodeParmError ; } /* if */ vtObj[ inxObj ]->AddItem( inxItem , new MSG_ItemBCD( ValueBCD )) ; return TST_RetCodeOK ; } // end selection: Test: MSG Add BCD item // Test: MSG Add time item // AE: AddTimeItem <inxMsg> <i inxItem> <i Mode> // Mode == true -> current time // Mode == false -> session beginning time else if ( strcmp( Command , AddTimeItem_CMD ) == 0 ) { /***** Function void AddItem( const int Index , MSG_MessageItem * pItem ) *****/ int inxObj = -1 ; int inxItem = -1 ; bool Mode = false ; int numRead = TST_pReader->ReadCommandLine( "iib" , &inxObj , &inxItem , &Mode ) ; if ( ( numRead != 3 ) || !VerifyInxElem( inxObj , YES )) { return TST_RetCodeParmError ; } /* if */ if ( Mode ) { vtObj[ inxObj ]->AddItem( inxItem , new MSG_ItemTime( MSG_TimeCurrent )) ; } else { vtObj[ inxObj ]->AddItem( inxItem , new MSG_ItemTime( MSG_TimeInitial )) ; } /* if */ return TST_RetCodeOK ; } // end selection: Test: MSG Add time item // Test: MSG Assemble the message string // AE: AssembleMessage <inxMsg> <s expString> else if ( strcmp( Command , AssembleMessage_007_CMD ) == 0 ) { /***** Function STR_String * AssembleMessage( ) *****/ int inxObj = -1 ; int expSiz = -1 ; char expStr[ TAL_dimBuffer ] ; int numRead = TST_pReader->ReadCommandLine( "is" , &inxObj , &expSiz , expStr ) ; if ( ( numRead != 2 ) || !VerifyInxElem( inxObj , YES )) { return TST_RetCodeParmError ; } /* if */ STR_String * isString = vtObj[ inxObj ]->AssembleMessage( ) ; TST_tpRetCode retCode = Compare( isString->GetLength( ) , isString->GetString( ) , expSiz , expStr , "Incorrect message string." ) ; delete isString ; return retCode ; } // end selection: Test: MSG Assemble the message string // Test: MSG Get message id // AE: GetMessageId <inxMsg> <i espIdString> else if ( strcmp( Command , GetMessageId_008_CMD ) == 0 ) { /***** Function long GetMessageId( ) *****/ int inxObj = -1 ; int inxMsg = -1 ; int expValue = -1 ; int numRead = TST_pReader->ReadCommandLine( "ii" , &inxObj , &inxMsg ) ; if ( ( numRead != 2 ) || !VerifyInxElem( inxObj , YES )) { return TST_RetCodeParmError ; } /* if */ switch ( inxMsg ) { case 1 : expValue = TSTMSG_1_0Fields ; break ; case 2 : expValue = TSTMSG_2_1FieldBeg ; break ; case 3 : expValue = TSTMSG_3_1FieldMid ; break ; case 4 : expValue = TSTMSG_4_1FieldEnd ; break ; case 5 : expValue = TSTMSG_5_2FieldsBeg ; break ; case 6 : expValue = TSTMSG_6_2FieldsMid ; break ; case 7 : expValue = TSTMSG_7_2FieldsEnd ; break ; case 8 : expValue = TSTMSG_8_3Fields ; break ; case 9 : expValue = TSTMSG_9_1Field ; break ; default : expValue = 0 ; break ; } /* switch */ return Compare( vtObj[ inxObj ]->GetMessageId( ) , expValue , "Incorrect message id value." ) ; } // end selection: Test: MSG Get message id // Test: MSG Replace message id // AE: ReplaceMessageId <inxMsg> <i newIdString> else if ( strcmp( Command , ReplaceMessageId_009_CMD ) == 0 ) { /***** Function void ReplaceMessageId( const long idMessageParm ) *****/ int inxObj = -1 ; int inxMsg = -1 ; int newId = -1 ; int numRead = TST_pReader->ReadCommandLine( "ii" , &inxObj , &inxMsg ) ; if ( ( numRead != 2 ) || !VerifyInxElem( inxObj , YES )) { return TST_RetCodeParmError ; } /* if */ switch ( inxMsg ) { case 1 : newId = TSTMSG_1_0Fields ; break ; case 2 : newId = TSTMSG_2_1FieldBeg ; break ; case 3 : newId = TSTMSG_3_1FieldMid ; break ; case 4 : newId = TSTMSG_4_1FieldEnd ; break ; case 5 : newId = TSTMSG_5_2FieldsBeg ; break ; case 6 : newId = TSTMSG_6_2FieldsMid ; break ; case 7 : newId = TSTMSG_7_2FieldsEnd ; break ; case 8 : newId = TSTMSG_8_3Fields ; break ; case 9 : newId = TSTMSG_9_1Field ; break ; default : newId = inxMsg | STR_MEM ; break ; } /* switch */ vtObj[ inxObj ]->ReplaceMessageId( newId ) ; return TST_RetCodeOK ; } // end selection: Test: MSG Replace message id // Test: MSG !Get message item // AE: GetItem <inxMsg> <i inxItem> <espString> else if ( strcmp( Command , GetItem_101_CMD ) == 0 ) { struct PointerEnvelope { STR_String * pString ; PointerEnvelope( ) { pString = NULL ; } ~PointerEnvelope( ) { delete pString ; } } envelope ; /* struct */ /***** Function MSG_MessageItem * GetItem( int inxItem ) *****/ int inxObj = -1 ; int inxItem = -1 ; int expSiz = -1 ; char expStr[ TAL_dimBuffer ] ; int numRead = TST_pReader->ReadCommandLine( "iis" , &inxObj , &inxItem , &expSiz , expStr ) ; if ( ( numRead != 3 ) || !VerifyInxElem( inxObj , YES )) { return TST_RetCodeParmError ; } /* if */ MSG_MessageItem * pItem = vtObj[ inxObj ]->GetItem( inxItem ) ; if ( pItem != NULL ) { envelope.pString = pItem->ToString( ) ; return Compare( envelope.pString->GetLength( ) , envelope.pString->GetString( ) , expSiz , expStr , "Incorrect non null item string." ) ; } /* if */ return Compare( 1 , "." , expSiz , expStr , "Incorrect null item string." ) ; } // end selection: Test: MSG !Get message item // Test: MSGI Get item type identifier // AE: GetItemTypeId <inxMsg> <i inxItem> <espIdType> else if ( strcmp( Command , GetItemTypeId_100_CMD ) == 0 ) { /***** Function MSG_tpItemTypeId GetItemTypeId( ) *****/ int inxObj = -1 ; int inxItem = -1 ; int expValue = -1 ; int numRead = TST_pReader->ReadCommandLine( "iii" , &inxObj , &inxItem , &expValue ) ; if ( ( numRead != 3 ) || !VerifyInxElem( inxObj , YES )) { return TST_RetCodeParmError ; } /* if */ MSG_MessageItem * pItem = vtObj[ inxObj ]->GetItem( inxItem ) ; MSG_tpItemTypeId typeId = MSG_ItemTypeIdNull ; if ( pItem != NULL ) { typeId = pItem->GetItemTypeId( ) ; } /* if */ return Compare( typeId , expValue , "Incorrect type id value." ) ; } // end selection: Test: MSGI Get item type identifier return TST_RetCodeUnknown ; } // End of function: TMSG !P Perform specific test actions
TST_tpRetCode TST_TestSpecific :: PerformSpecificTest( char * Command ) { // Interpret TCFG Reset // AE: Reset if ( strcmp( Command , Reset_CMD ) == 0 ) { for ( int i = 0 ; i < TCFG_dimVtObj ; i++ ) { delete vtObj[ i ] ; vtObj[ i ] = NULL ; } /* for */ return TST_RetCodeOK ; } // end selection: Interpret TCFG Reset // Test: CFG !Construct a configuration list // AE: NewParamList <inxObj> else if ( strcmp( Command , CFG_CParameterList_002_CMD ) == 0 ) { /***** Function CFG_ConfigurationList( ) *****/ int inxObj = -1 ; int numRead = TST_pReader->ReadCommandLine( "i" , &inxObj ) ; if ( ( numRead != 1 ) || !VerifyInxElem( inxObj , NO )) { return TST_RetCodeParmError ; } /* if */ vtObj[ inxObj ] = new CFG_ConfigurationList( ) ; return TST_RetCodeOK ; } // end selection: Test: CFG !Construct a configuration list // Test: CFG !Destroy a parameter list // AE: DeleteParamList <inxObj> else if ( strcmp( Command , DeleteCFG_CParameterList_003_CMD ) == 0 ) { /***** Function ~CFG_ConfigurationList( ) *****/ int inxObj = -1 ; int numRead = TST_pReader->ReadCommandLine( "i" , &inxObj ) ; if ( ( numRead != 1 ) || !VerifyInxElem( inxObj , ANY )) { return TST_RetCodeParmError ; } /* if */ delete vtObj[ inxObj ] ; vtObj[ inxObj ] = NULL ; return TST_RetCodeOK ; } // end selection: Test: CFG !Destroy a parameter list // Test: CFG !Build from given file // AE: BuildList <inxObj> <s EnvName> <s FileName> <s ExtensionName> <b expReturn> // EnvName == "." ==> NULL reads the file identified // by the "TALISMAN" environment variable // FileName == "." ==> NULL reads the file identified // by the environment variable // ExtName == "." ==> NULL uses "config" as deafult extension // name else if ( strcmp( Command , BuildLineList_006_CMD ) == 0 ) { /***** Function bool BuildLineList( char * FileName , char * FileExtension ) *****/ int inxObj = -1 ; bool expRet = false ; int sizFileName = -1 ; char FileName[ TAL_dimBuffer ] ; int sizExtName = -1 ; char ExtName[ TAL_dimBuffer ] ; int numRead = TST_pReader->ReadCommandLine( "issb" , &inxObj , &sizFileName , FileName , &sizExtName , ExtName , &expRet ) ; if ( ( numRead != 4 ) || !VerifyInxElem( inxObj , YES )) { return TST_RetCodeParmError ; } /* if */ return CompareBool( vtObj[ inxObj ]->BuildLineList( ( strcmp( FileName , "." ) != 0 ? FileName : NULL ) , ( strcmp( ExtName , "." ) != 0 ? ExtName : NULL )) , expRet , "Incorrect configuration build return." ) ; } // end selection: Test: CFG !Build from given file // Test: CFG !Write configuration file // AE: WriteList <inxObj> <s FileNmae> <s ExtensionName> <b expReturn> // FileName == "." ==> NULL // ExtName == "." ==> NULL else if ( strcmp( Command , WriteConfigurationList_006_CMD ) == 0 ) { /***** Function bool WriteConfigurationList( char * FileName , char * ExtensionName = NULL ) *****/ int inxObj = -1 ; bool expRet = false ; int sizFileName = -1 ; char FileName[ TAL_dimBuffer ] ; int sizExtName = -1 ; char ExtName[ TAL_dimBuffer ] ; int numRead = TST_pReader->ReadCommandLine( "issb" , &inxObj , &sizFileName , FileName , &sizExtName , ExtName , &expRet ) ; if ( ( numRead != 4 ) || !VerifyInxElem( inxObj , YES )) { return TST_RetCodeParmError ; } /* if */ return CompareBool( vtObj[ inxObj ]->WriteConfigurationList( ( strcmp( FileName , "." ) != 0 ? FileName : NULL ) , ( strcmp( ExtName , "." ) != 0 ? ExtName : NULL )) , expRet , "Incorrect configuration write return." ) ; } // end selection: Test: CFG !Write configuration file // Test: CFG !Get a parameter value // AE: GetParameter <inxObj> <s SectionName> <s ParameterName> <s expValue> else if ( strcmp( Command , GetParameter_007_CMD ) == 0 ) { /***** Function STR_String * GetParameterValue( char * SectionName , char * AttributeName ) *****/ int inxObj = -1 ; int sizSecName = -1 ; char SecName[ TAL_dimBuffer ] ; int sizParmName = -1 ; char ParmName[ TAL_dimBuffer ] ; int sizexpValue = -1 ; char expValue[ TAL_dimBuffer ] ; int numRead = TST_pReader->ReadCommandLine( "isss" , &inxObj , &sizSecName , SecName , &sizParmName , ParmName , &sizexpValue , expValue ) ; if ( ( numRead != 4 ) || !VerifyInxElem( inxObj , YES )) { return TST_RetCodeParmError ; } /* if */ STR_String * pStr = vtObj[ inxObj ]->GetParameterValue( SecName , ParmName ) ; if ( pStr == NULL ) { if ( strcmp( expValue , "." ) == 0 ) { return TST_RetCodeOK ; } /* if */ DisplayErrorMsg( "Expected parameter has not been found." ) ; return TST_RetCodeFailure ; } /* if */ TST_tpRetCode retCode = Compare( pStr->GetString( ) , expValue , sizexpValue , "Incorrect parameter value." ) ; delete pStr ; return retCode ; } // end selection: Test: CFG !Get a parameter value // Test: CFG !Set a parameter value // AE: SetParameter <inxObj> <s SectionName> <s ParameterName> <s newValue> <b expRet> else if ( strcmp( Command , SetParameter_013_CMD ) == 0 ) { /***** Function bool SetParameterValue( char * SectionName , char * ParameterName , STR_String * ParameterValue ) *****/ int inxObj = -1 ; bool expRet = false ; int sizSecName = -1 ; char SecName[ TAL_dimBuffer ] ; int sizParmName = -1 ; char ParmName[ TAL_dimBuffer ] ; int sizValue = -1 ; char Value[ TAL_dimBuffer ] ; int numRead = TST_pReader->ReadCommandLine( "isssb" , &inxObj , &sizSecName , SecName , &sizParmName , ParmName , &sizValue , Value , &expRet ) ; if ( ( numRead != 5 ) || !VerifyInxElem( inxObj , YES )) { return TST_RetCodeParmError ; } /* if */ STR_String * pVal = new STR_String( sizValue , Value ) ; bool isRet = vtObj[ inxObj ]->SetParameterValue( SecName , ParmName , pVal ) ; return CompareBool( isRet , expRet , "Incorrect set parameter return." ); } // end selection: Test: CFG !Set a parameter value // Perform compare file // AE: CompareFile <s FileA> <s extFileA> <s FileB> <s extFileB> <b expRet> else if ( strcmp( Command , CompareFile_CMD ) == 0 ) { int lenFileA = -1 ; char fileA[ TAL_dimBuffer ] ; int lenExtA = -1 ; char ExtA[ TAL_dimBuffer ] ; int lenFileB = -1 ; char fileB[ TAL_dimBuffer ] ; int lenExtB = -1 ; char ExtB[ TAL_dimBuffer ] ; bool expBool = false ; int numRead = TST_pReader->ReadCommandLine( "ssssb" , &lenFileA , fileA , &lenExtA , ExtA , &lenFileB , fileB , &lenExtB , ExtB , &expBool ) ; if ( numRead != 5 ) { return TST_RetCodeParmError ; } /* if */ return CompareBool( SIO_CompareFile( fileA , ExtA , fileB , ExtB ) , expBool , "Incorrect comparison." ) ; } // end selection: Perform compare file // Test: CFGE !Configuration element constructor // AE: CFGE_LineListElem_002_CMD else if ( strcmp( Command , CFGE_CLineListElem_002_CMD ) == 0 ) { /***** Function CFGE_LineListElem( ) *****/ return TST_RetCodeNotImplemented ; } // end selection: Test: CFGE !Configuration element constructor // Test: CFGE !Configuration element destructor // AE: DeleteCFGE_LineListElem_003_CMD else if ( strcmp( Command , DeleteCFGE_CLineListElem_003_CMD ) == 0 ) { /***** Function ~CFGE_LineListElem( ) *****/ return TST_RetCodeNotImplemented ; } // end selection: Test: CFGE !Configuration element destructor // Test var: Line type // AE: LineType_006 else if ( strcmp( Command , LineType_006 ) == 0 ) { /***** Variable tpLineType LineType ; *****/ return TST_RetCodeNotImplemented ; } // end selection: Test var: Line type // Test var: Next section element // AE: proxSection_007 else if ( strcmp( Command , proxSection_007 ) == 0 ) { /***** Variable CFG_ParamenterListElement * proxSection ; *****/ return TST_RetCodeNotImplemented ; } // end selection: Test var: Next section element // Test var: Next atribute element // AE: proxAttribute_008 else if ( strcmp( Command , proxAttribute_008 ) == 0 ) { /***** Variable CFG_ParamenterListElement * proxAttribute ; *****/ return TST_RetCodeNotImplemented ; } // end selection: Test var: Next atribute element // Test var: Element name // AE: pElementName_009 else if ( strcmp( Command , pElementName_009 ) == 0 ) { /***** Variable STR_String * pElementName ; *****/ return TST_RetCodeNotImplemented ; } // end selection: Test var: Element name // Test var: Element value // AE: pElementValue_021 else if ( strcmp( Command , pElementValue_021 ) == 0 ) { /***** Variable STR_String * pElementValue ; *****/ return TST_RetCodeNotImplemented ; } // end selection: Test var: Element value return TST_RetCodeUnknown ; } // End of function: TCFG !P Perform specific test actions