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_CycleDataItem16TmStream.h"
00014
#include "../Telemetry/DC_DummyTelemetryPacket.h"
00015
#include "../Data/DC_DataItem.h"
00016
#include "../Data/DC_RawDataItem.h"
00017
#include "TestCaseCycleDataItem16TmStream_1.h"
00018
00019 TestCaseCycleDataItem16TmStream_1::TestCaseCycleDataItem16TmStream_1(
void) :
00020
TestCaseGenericSetUp(ID_CYCLEDATAITEM16TMSTREAM*10+1,"
TestCaseCycleDataItem16TmStream_1") {
00021
return;
00022 }
00023
00024 void TestCaseCycleDataItem16TmStream_1::runTestCase(
void) {
00025
00026
00027
unsigned short var1, var2, var3;
00028
DC_RawDataItem* pd1 =
new DC_RawDataItem( &var1 );
00029 DC_RawDataItem* pd2 =
new DC_RawDataItem( &var2 );
00030 DC_RawDataItem* pd3 =
new DC_RawDataItem( &var3 );
00031
00032
00033
unsigned char d1 = 1;
00034
unsigned char d2 = 2;
00035
unsigned char d3 = 3;
00036
unsigned char d4 = 4;
00037
DC_DummyTelemetryPacket* pTW1 =
new DC_DummyTelemetryPacket();
00038 pTW1->
setNumberOfBytes(4);
00039 pTW1->
setValue(0,d1);
00040 pTW1->
setValue(1,d2);
00041 pTW1->
setValue(2,d3);
00042 pTW1->
setValue(3,d4);
00043
00044
00045
DC_CycleDataItem16TmStream* pTmStream =
new DC_CycleDataItem16TmStream();
00046
00047
00048
if ( pTmStream->
getClassId() != ID_CYCLEDATAITEM16TMSTREAM )
00049 { setTestResult(
TEST_FAILURE,
"Wrong class identifier");
00050
return;
00051 }
00052
00053
00054
if ( pTmStream->
isObjectConfigured() )
00055 { setTestResult(
TEST_FAILURE,
"Wrong object configuration status");
00056
return;
00057 }
00058
00059
00060 pTmStream->
setNumberOfDataItems(3);
00061
if ( pTmStream->
getCapacity() != 3 )
00062 { setTestResult(
TEST_FAILURE,
"Wrong telemetry stream size");
00063
return;
00064 }
00065
00066
00067
00068 pTmStream->
setDataItem(0,pd1);
00069 pTmStream->
setDataItem(1,pd2);
00070 pTmStream->
setDataItem(2,pd3);
00071
if ( !pTmStream->
isObjectConfigured() )
00072 { setTestResult(
TEST_FAILURE,
"Wrong object configuration status");
00073
return;
00074 }
00075
00076
00077
if ( !pTmStream->
doesPacketFit(pTW1) )
00078 { setTestResult(
TEST_FAILURE,
"Check on telemetry stream capacity failed");
00079
return;
00080 }
00081
00082
00083
00084
00085
00086
00087 pTmStream->
write(pTW1);
00088
if ( (pd1->
getUnsignedShort() != d1+256*d2) ||
00089 (pd2->
getUnsignedShort() != d3+256*d4) )
00090 { setTestResult(
TEST_FAILURE,
"Write operations failed");
00091
return;
00092 }
00093
00094
00095
if ( pTmStream->
doesPacketFit(pTW1) )
00096 { setTestResult(
TEST_FAILURE,
"Check on telemetry stream capacity failed");
00097
return;
00098 }
00099
00100
00101 pTmStream->
write(pTW1);
00102
if ( (pd3->
getUnsignedShort() != d1+256*d2) )
00103 { setTestResult(
TEST_FAILURE,
"Write operations failed");
00104
return;
00105 }
00106
00107
00108 pTmStream->
reset();
00109 pd1->
setUnsignedShort(0);
00110 pd2->
setUnsignedShort(0);
00111 pd3->
setUnsignedShort(0);
00112
00113
00114
if ( !pTmStream->
doesPacketFit(pTW1) )
00115 { setTestResult(
TEST_FAILURE,
"Check on telemetry stream capacity failed");
00116
return;
00117 }
00118
00119
00120 pTmStream->
write(pTW1);
00121
if ( (pd1->
getUnsignedShort() != d1+256*d2) ||
00122 (pd2->
getUnsignedShort() != d3+256*d4) )
00123 { setTestResult(
TEST_FAILURE,
"Write operations failed");
00124
return;
00125 }
00126
00127 setTestResult(
TEST_SUCCESS,
"Test Successful");
00128
return;
00129
00130 }