00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
#include "TestCaseDummyModeManager_1.h"
00011
#include "../GeneralInclude/CompilerSwitches.h"
00012
#include "../GeneralInclude/ClassId.h"
00013
#include "../GeneralInclude/Constants.h"
00014
#include "../Base/CC_RootObject.h"
00015
#include "../Base/DC_DummyModeManager.h"
00016
#include "../Base/ModeManager.h"
00017
#include "../Event/DC_EventRepository.h"
00018
00019 TestCaseDummyModeManager_1::TestCaseDummyModeManager_1(
void) :
00020
TestCaseWithEvtCheck(ID_DUMMYMODEMANAGER*10+1,"
TestCaseDummyModeManager_1") {
00021
return;
00022 }
00023
00024 void TestCaseDummyModeManager_1::runTestCase(
void) {
00025
00026
unsigned int nEvt =
getNumberOfEvents();
00027
DC_DummyModeManager* pMM =
new DC_DummyModeManager();
00028
DC_EventRepository* pRep = pMM->
getEventRepository();
00029
00030
00031
if ( pMM->
getClassId() != ID_DUMMYMODEMANAGER)
00032 { setTestResult(
TEST_FAILURE,
"Wrong class identifier");
00033
return;
00034 }
00035
00036
00037
if ( pMM->
isObjectConfigured() ==
CONFIGURED )
00038 { setTestResult(
TEST_FAILURE,
"Wrong configuration status at creation");
00039
return;
00040 }
00041
00042
00043
TD_Mode n = 3;
00044 pMM->
setNumberOfModes(n);
00045
if ( pMM->
getNumberOfModes() != n)
00046 { setTestResult(
TEST_FAILURE,
"Wrong number of modes");
00047
return;
00048 }
00049
00050
00051
TD_Mode def = 1;
00052 pMM->
setDefaultMode(def);
00053
if ( pMM->
isObjectConfigured() !=
CONFIGURED )
00054 { setTestResult(
TEST_FAILURE,
"Wrong configuration status");
00055
return;
00056 }
00057
00058
00059
if (
isNonNominalCheckAllowed()) {
00060 pMM->
setDefaultMode(3);
00061
if ( !verifyLatestEvent(nEvt+1,EVT_ILLEGAL_MM) )
00062
return;
00063 nEvt++;
00064 }
00065
00066
00067
00068 pMM->
reset();
00069
if ( pMM->
getCurrentMode() != def)
00070 { setTestResult(
TEST_FAILURE,
"Current mode is not default mode");
00071
return;
00072 }
00073
00074
00075
if ( !pMM->
isTransitionEnabled() )
00076 { setTestResult(
TEST_FAILURE,
"Transitions are not enabled");
00077
return;
00078 }
00079
for (
TD_Mode i=0; i<n; i++)
00080
if ( !pMM->
isTransitionEnabled(i) )
00081 { setTestResult(
TEST_FAILURE,
"Transition is not enabled");
00082
return;
00083 }
00084
00085
00086 pMM->
update();
00087
if ( pMM->
getCurrentMode() != def+1 )
00088 { setTestResult(
TEST_FAILURE,
"Mode transition was not performed");
00089
return;
00090 }
00091
if ( pRep->
getCounter() != nEvt+1 )
00092 { setTestResult(
TEST_FAILURE,
"Wrong number of events");
00093
return;
00094 }
00095
if (!verifyLatestEvent(nEvt+1,EVT_MOD_TRANS_PERFORMED))
00096
return;
00097 nEvt++;
00098
00099
00100 pMM->
setTransitionEnableStatus(
DISABLED);
00101
if ( pMM->
isTransitionEnabled() )
00102 { setTestResult(
TEST_FAILURE,
"Wrong transition enable status");
00103
return;
00104 }
00105
00106
00107
00108 pMM->
update();
00109
if ( pMM->
getCurrentMode() != def+1 )
00110 { setTestResult(
TEST_FAILURE,
"Wrong operational mode");
00111
return;
00112 }
00113
if (!verifyLatestEvent(nEvt+1,EVT_MOD_TRANS_INHIBITED))
00114
return;
00115 nEvt++;
00116
00117
00118 pMM->
setTransitionEnableStatus(
ENABLED);
00119 pMM->
setTransitionEnableStatus(1,
DISABLED);
00120
if ( pMM->
isTransitionEnabled(1) !=
DISABLED )
00121 { setTestResult(
TEST_FAILURE,
"Wrong enable status");
00122
return;
00123 }
00124
00125
00126 pMM->
update();
00127 pMM->
update();
00128
if ( pMM->
getCurrentMode() != 0 )
00129 { setTestResult(
TEST_FAILURE,
"Wrong mode");
00130
return;
00131 }
00132 nEvt = nEvt+2;
00133
00134
00135
if (
isNonNominalCheckAllowed()) {
00136 pMM->
setTransitionEnableStatus(3,
false);
00137
if ( !verifyLatestEvent(nEvt+1,EVT_ILLEGAL_MM) )
00138
return;
00139 nEvt++;
00140 }
00141
00142
00143 pMM->
reset();
00144
if ( pMM->
getCurrentMode() != def )
00145 { setTestResult(
TEST_FAILURE,
"Wrong mode after reset");
00146
return;
00147 }
00148
if ( !pMM->
isTransitionEnabled() )
00149 { setTestResult(
TEST_FAILURE,
"Wrong transition enable status after reset");
00150
return;
00151 }
00152
for (
TD_Mode i=0; i<n; i++)
00153
if ( !pMM->
isTransitionEnabled(i) )
00154 { setTestResult(
TEST_FAILURE,
"Transition is not enabled after reset");
00155
return;
00156 }
00157
00158 setTestResult(
TEST_SUCCESS,
"Test Successful");
00159
return;
00160 }