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

TestCaseDataItem16TmWord_1.cpp

00001 // 00002 // Copyright 2004 P&P Software GmbH - All Rights Reserved 00003 // 00004 // TestCaseDataItem16TmWord_1.cpp 00005 // 00006 // Version 1.1 00007 // Date 18.04.03 00008 // Author A. Pasetti (P&P Software) 00009 00010 #include "../GeneralInclude/CompilerSwitches.h" 00011 #include "../GeneralInclude/ClassId.h" 00012 #include "../GeneralInclude/TestConstants.h" 00013 #include "../Telemetry/DC_DataItem16TmWord.h" 00014 #include "../Base/CC_RootObject.h" 00015 #include "../Event/DC_EventRepository.h" 00016 #include "../Data/DC_RawDataItem.h" 00017 #include "../Data/DC_DataItem.h" 00018 #include "TestCaseDataItem16TmWord_1.h" 00019 00020 #include <string.h> 00021 00022 TestCaseDataItem16TmWord_1::TestCaseDataItem16TmWord_1(void) : 00023 TestCaseGenericSetUp(ID_DATAITEM16TMWORD*10+1,"TestCaseDataItem16TmWord_1") { 00024 return; 00025 } 00026 00027 void TestCaseDataItem16TmWord_1::runTestCase(void) { 00028 00029 unsigned short usTemp; 00030 unsigned char ucTemp; 00031 unsigned char* pTemp; 00032 00033 // Create a data item component 00034 unsigned short var = 0xaabb; 00035 DC_RawDataItem* pd1 = new DC_RawDataItem( &var ); 00036 00037 // Create the DataItem16TmWord_1 component 00038 DC_DataItem16TmWord* pTmWord = new DC_DataItem16TmWord(); 00039 00040 // Check the value of the class identifier 00041 if ( pTmWord->getClassId() != ID_DATAITEM16TMWORD ) 00042 { setTestResult(TEST_FAILURE, "Wrong class identifier"); 00043 return; 00044 } 00045 00046 // Check that the DataItem16TmWord_1 is not configured 00047 if ( pTmWord->isObjectConfigured() ) 00048 { setTestResult(TEST_FAILURE, "Wrong object configuration status"); 00049 return; 00050 } 00051 00052 // Load the data item into the DataItem16TmWord_1 object and check that the 00053 // DataItem16TmWord_1 object becomes configured 00054 pTmWord->setDataItem(pd1); 00055 if ( !pTmWord->isObjectConfigured() ) 00056 { setTestResult(TEST_FAILURE, "Wrong object configuration status"); 00057 return; 00058 } 00059 00060 // Check the correct validity status 00061 if ( !pTmWord->isValid() ) 00062 { setTestResult(TEST_FAILURE, "Wrong validity status"); 00063 return; 00064 } 00065 00066 // Check the correct number of bytes 00067 if ( pTmWord->getNumberOfBytes() != 2) 00068 { setTestResult(TEST_FAILURE, "Wrong number of bytes"); 00069 return; 00070 } 00071 00072 // Send an update request to DataItem16TmWord_1 and check the 00073 // data acquired from it are correct 00074 pTmWord->update(); 00075 if ( pTmWord->getUnsignedShort(0) != 0xaabb ) 00076 { setTestResult(TEST_FAILURE, "Wrong data acquisition result"); 00077 return; 00078 } 00079 usTemp = pd1->getUnsignedShort(); 00080 pTemp = (unsigned char*)&usTemp; 00081 memcpy(&ucTemp,pTemp,1); 00082 if ( pTmWord->getUnsignedByte(0) != ucTemp ) 00083 { setTestResult(TEST_FAILURE, "Wrong data acquisition result"); 00084 return; 00085 } 00086 memcpy(&ucTemp,pTemp+1,1); 00087 if ( pTmWord->getUnsignedByte(1) != ucTemp ) 00088 { setTestResult(TEST_FAILURE, "Wrong data acquisition result"); 00089 return; 00090 } 00091 00092 setTestResult(TEST_SUCCESS,"Test Successful"); 00093 return; 00094 00095 }
Copyright 2003 P&P Software GmbH - All Rights Reserved