Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

TestCaseWithEvtCheck.cpp

00001 // 00002 // Copyright 2004 P&P Software GmbH - All Rights Reserved 00003 // 00004 // TestCaseWithEvtCheck.cpp 00005 // 00006 // Version 1.0 00007 // Date 28.11.03 00008 // Author R. Totaro 00009 // 00010 // Change Record: 00011 00012 #include "../GeneralInclude/CompilerSwitches.h" 00013 #include "../GeneralInclude/DebugSupport.h" 00014 #include "../GeneralInclude/TestConstants.h" 00015 #include "../GeneralInclude/Constants.h" 00016 #include "../Event/DC_EventRepository.h" 00017 #include "../Base/CC_RootObject.h" 00018 #include "TestCaseWithEvtCheck.h" 00019 00020 #include <stdio.h> 00021 00022 TestCaseWithEvtCheck::TestCaseWithEvtCheck(int testId,char *testName): 00023 TestCaseGenericSetUp(testId,testName) { 00024 return; 00025 } 00026 00027 bool TestCaseWithEvtCheck::setUpTestCase(void) { 00028 return TestCaseGenericSetUp::setUpTestCase(); 00029 } 00030 00031 unsigned int TestCaseWithEvtCheck::getNumberOfEvents(void) const { 00032 return CC_RootObject::getEventRepository()->getCounter(); 00033 } 00034 00035 unsigned int TestCaseWithEvtCheck::getEventRepositorySize(void) const { 00036 return CC_RootObject::getEventRepository()->getRepositorySize(); 00037 } 00038 00039 bool TestCaseWithEvtCheck::verifyLatestEventHidden(const int line, 00040 const unsigned int nEvt, 00041 const TD_EventType eventType) { 00042 char msg[512]; 00043 00044 assert(eventType>0); 00045 00046 DC_EventRepository* pRep = CC_RootObject::getEventRepository(); 00047 00048 if (pRep->getCounter()!=nEvt) { 00049 sprintf(msg,"Wrong number of events at line %d",line); 00050 setTestResult(TEST_FAILURE,msg); 00051 return false; 00052 } 00053 00054 pRep->latest(); 00055 if (pRep->getEventType()!=eventType) { 00056 sprintf(msg,"Wrong event type at line %d",line); 00057 setTestResult(TEST_FAILURE,msg); 00058 return false; 00059 } 00060 00061 return true; 00062 } 00063 00064 bool TestCaseWithEvtCheck::verifySpecificEventHidden(const int line, 00065 const unsigned int n, 00066 const TD_EventType eventType) { 00067 char msg[512]; 00068 DC_EventRepository* pRep = CC_RootObject::getEventRepository(); 00069 const int distance=(pRep->getCounter()-n); 00070 00071 assert(eventType>0); 00072 assert(distance<(int)pRep->getRepositorySize()); 00073 00074 if (distance<0) { 00075 sprintf(msg,"Wrong number of events at line %d",line); 00076 setTestResult(TEST_FAILURE,msg); 00077 return false; 00078 } 00079 00080 pRep->latest(); 00081 for (int i=0;i<distance;i++) 00082 pRep->previous(); 00083 00084 if (pRep->getEventType()!=eventType) { 00085 sprintf(msg,"Wrong event type at line %d",line); 00086 setTestResult(TEST_FAILURE,msg); 00087 return false; 00088 } 00089 00090 return true; 00091 }
Copyright 2003 P&P Software GmbH - All Rights Reserved