コード例 #1
0
/******************************************************************************
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;
}
コード例 #2
0
/******************************************************************************
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;
}