00001
00002
00003
00004
00005
00006
00007
00008
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
00034
unsigned short var = 0xaabb;
00035
DC_RawDataItem* pd1 =
new DC_RawDataItem( &var );
00036
00037
00038
DC_DataItem16TmWord* pTmWord =
new DC_DataItem16TmWord();
00039
00040
00041
if ( pTmWord->
getClassId() != ID_DATAITEM16TMWORD )
00042 { setTestResult(
TEST_FAILURE,
"Wrong class identifier");
00043
return;
00044 }
00045
00046
00047
if ( pTmWord->
isObjectConfigured() )
00048 { setTestResult(
TEST_FAILURE,
"Wrong object configuration status");
00049
return;
00050 }
00051
00052
00053
00054 pTmWord->
setDataItem(pd1);
00055
if ( !pTmWord->
isObjectConfigured() )
00056 { setTestResult(
TEST_FAILURE,
"Wrong object configuration status");
00057
return;
00058 }
00059
00060
00061
if ( !pTmWord->
isValid() )
00062 { setTestResult(
TEST_FAILURE,
"Wrong validity status");
00063
return;
00064 }
00065
00066
00067
if ( pTmWord->
getNumberOfBytes() != 2)
00068 { setTestResult(
TEST_FAILURE,
"Wrong number of bytes");
00069
return;
00070 }
00071
00072
00073
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 }