/****************************************************************************** Function Name : bVerifyCanMessage Input(s) : Output : BOOL Functionality : Member of : CTSExecutionCAN Friend of : - Author(s) : Venkatanarayana Makam Date Created : 01/04/2011 Modifications : ******************************************************************************/ BOOL CTSExecutionCAN::bVerifyCanMessage(CVerify_MessageData& ouVerifyData, CSignalInfoArray& ouSignalInfo, CMessageResult& ouMsgResult) { BOOL bResult = TRUE; ouMsgResult.m_omMessage = ouVerifyData.m_omMessageName; INT nSignalCount = (INT)ouSignalInfo.GetSize(); for(INT nIndex = 0; nIndex < nSignalCount; nIndex++) { CString omStrCondition; SINTERPRETSIGNALINFO ouSignal = ouSignalInfo[nIndex]; //TODO::Handle condition for having Same Signals are presenent(Like mAllrad_1) if(ouVerifyData.GetSignalCondition(ouSignal.m_omStrSignalName, omStrCondition) == S_OK) { CSignalResult ouSignalResult; ouSignalResult.m_omSignal = ouSignal.m_omStrSignalName; ouSignalResult.m_omSignalCondition = omStrCondition; ouSignalResult.m_omResult = "SUCCESS"; BOOL bRetVal; if(ouVerifyData.m_eSignalUnitType == RAW) { ouSignalResult.m_omSignalValue.Format("%I64u", ouSignal.m_un64RawValue); bRetVal = m_ouExpressionEWxecutor.bGetExpressionValue(omStrCondition, (float)ouSignal.m_un64RawValue); } else { ouSignalResult.m_omSignalValue.Format("%f", ouSignal.m_dPhyValue); bRetVal = m_ouExpressionEWxecutor.bGetExpressionValue(omStrCondition, (float)ouSignal.m_dPhyValue); } if(bRetVal == FALSE) { ouSignalResult.m_omResult = "FAIL"; //if One signal failed total message and total Testcase will be failed bResult = FALSE; } ouMsgResult.m_SignalResultList.AddTail(ouSignalResult); } } return bResult; }
/****************************************************************************** Function Name : bVerifyCanMessage Input(s) : Output : BOOL Functionality : Member of : CTSExecutionCAN Friend of : - Author(s) : Venkatanarayana Makam Date Created : 01/04/2011 Modifications : ******************************************************************************/ BOOL CTSExecutionCAN::bVerifyCanMessage( CVerify_MessageData& ouVerifyData, std::list<InterpreteSignals>& ouSignalInfo, CMessageResult& ouMsgResult ) { BOOL bResult = TRUE; ouMsgResult.m_omMessage = ouVerifyData.m_omMessageName; INT nSignalCount = (INT)ouSignalInfo.size(); for ( auto signalInfo : ouSignalInfo ) { CString omStrCondition; //TODO::Handle condition for having Same Signals are presenent(Like mAllrad_1) if ( ouVerifyData.GetSignalCondition( CString(signalInfo.m_omSigName.c_str()), omStrCondition ) == S_OK ) { CSignalResult ouSignalResult; ouSignalResult.m_omSignal = signalInfo.m_omSigName.c_str(); ouSignalResult.m_omSignalCondition = omStrCondition; ouSignalResult.m_omResult = _("SUCCESS"); BOOL bRetVal; if(ouVerifyData.m_eSignalUnitType == RAW) { //ouSignalResult.m_omSignalValue.Format("%I64u", ouSignal.m_un64RawValue); ouSignalResult.m_omSignalValue = signalInfo.m_omRawValue.c_str(); __int64 value = _atoi64( signalInfo.m_omRawValue.c_str() ); bRetVal = m_ouExpressionEWxecutor.bGetExpressionValue( omStrCondition, (float)value ); } else { //ouSignalResult.m_omSignalValue.Format("%f", ouSignal.m_dPhyValue); ouSignalResult.m_omSignalValue = signalInfo.m_omEnggValue.c_str(); double value = atof( signalInfo.m_omEnggValue.c_str() ); bRetVal = m_ouExpressionEWxecutor.bGetExpressionValue( omStrCondition, (float)value ); } if(bRetVal != TRUE) { ouSignalResult.m_omResult = _("FAIL"); //if One signal failed total message and total Testcase will be failed bResult = FALSE; } ouMsgResult.m_SignalResultList.AddTail(ouSignalResult); } } return bResult; }