1+ #include < gtest/gtest.h>
2+ #include " ./dummy_supervision.h"
3+
4+ namespace ara
5+ {
6+ namespace phm
7+ {
8+ namespace supervisors
9+ {
10+ TEST (ElementarySupervisionTest, Constructor)
11+ {
12+ const SupervisionStatus cExpectedResult{SupervisionStatus::kDeactivated };
13+
14+ const DummySupervision cSupervision;
15+ const SupervisionStatus cActualResult{cSupervision.GetStatus ()};
16+
17+ EXPECT_EQ (cExpectedResult, cActualResult);
18+ }
19+
20+ TEST (ElementarySupervisionTest, TransitionToOkScenario)
21+ {
22+ const SupervisionStatus cExpectedResult{SupervisionStatus::kOk };
23+
24+ DummySupervision _supervision;
25+
26+ _supervision.ReportStatus (cExpectedResult);
27+ SupervisionStatus _actualResult{_supervision.GetStatus ()};
28+ EXPECT_EQ (cExpectedResult, _actualResult);
29+
30+ // Transit to Failed and then to OK
31+ _supervision.ReportStatus (SupervisionStatus::kFailed );
32+ _supervision.ReportStatus (cExpectedResult);
33+ _actualResult = _supervision.GetStatus ();
34+ EXPECT_EQ (cExpectedResult, _actualResult);
35+
36+ // Transit to Expired and then to OK
37+ _supervision.ReportStatus (SupervisionStatus::kExpired );
38+ _supervision.ReportStatus (cExpectedResult);
39+ _actualResult = _supervision.GetStatus ();
40+ EXPECT_NE (cExpectedResult, _actualResult);
41+ }
42+
43+ TEST (ElementarySupervisionTest, TransitionToFailedScenario)
44+ {
45+ const SupervisionStatus cExpectedResult{SupervisionStatus::kFailed };
46+
47+ DummySupervision _supervision;
48+
49+ _supervision.ReportStatus (cExpectedResult);
50+ SupervisionStatus _actualResult{_supervision.GetStatus ()};
51+ EXPECT_EQ (cExpectedResult, _actualResult);
52+
53+ // Transit to OK and then to Failed
54+ _supervision.ReportStatus (SupervisionStatus::kOk );
55+ _supervision.ReportStatus (cExpectedResult);
56+ _actualResult = _supervision.GetStatus ();
57+ EXPECT_EQ (cExpectedResult, _actualResult);
58+
59+ // Transit to Expired and then to Failed
60+ _supervision.ReportStatus (SupervisionStatus::kExpired );
61+ _supervision.ReportStatus (cExpectedResult);
62+ _actualResult = _supervision.GetStatus ();
63+ EXPECT_NE (cExpectedResult, _actualResult);
64+ }
65+
66+ TEST (ElementarySupervisionTest, TransitionToExpiredScenario)
67+ {
68+ const SupervisionStatus cExpectedResult{SupervisionStatus::kExpired };
69+
70+ DummySupervision _supervision;
71+
72+ _supervision.ReportStatus (cExpectedResult);
73+ SupervisionStatus _actualResult{_supervision.GetStatus ()};
74+ EXPECT_EQ (cExpectedResult, _actualResult);
75+
76+ // Transit to OK and then to Expired
77+ _supervision.ReportStatus (SupervisionStatus::kOk );
78+ _supervision.ReportStatus (cExpectedResult);
79+ _actualResult = _supervision.GetStatus ();
80+ EXPECT_EQ (cExpectedResult, _actualResult);
81+
82+ // Transit to Failed and then to Expired
83+ _supervision.ReportStatus (SupervisionStatus::kFailed );
84+ _supervision.ReportStatus (cExpectedResult);
85+ _actualResult = _supervision.GetStatus ();
86+ EXPECT_EQ (cExpectedResult, _actualResult);
87+ }
88+
89+ TEST (ElementarySupervisionTest, TransitionToDeactivatedScenario)
90+ {
91+ const SupervisionStatus cExpectedResult{SupervisionStatus::kDeactivated };
92+
93+ DummySupervision _supervision;
94+
95+ _supervision.ReportStatus (cExpectedResult);
96+ SupervisionStatus _actualResult{_supervision.GetStatus ()};
97+ EXPECT_EQ (cExpectedResult, _actualResult);
98+
99+ // Transit to OK and then to Deactivated
100+ _supervision.ReportStatus (SupervisionStatus::kOk );
101+ _supervision.ReportStatus (cExpectedResult);
102+ _actualResult = _supervision.GetStatus ();
103+ EXPECT_EQ (cExpectedResult, _actualResult);
104+
105+ // Transit to Failed and then to Deactivated
106+ _supervision.ReportStatus (SupervisionStatus::kFailed );
107+ _supervision.ReportStatus (cExpectedResult);
108+ _actualResult = _supervision.GetStatus ();
109+ EXPECT_EQ (cExpectedResult, _actualResult);
110+
111+ // Transit to Expired and then to Deactivated
112+ _supervision.ReportStatus (SupervisionStatus::kExpired );
113+ _supervision.ReportStatus (cExpectedResult);
114+ _actualResult = _supervision.GetStatus ();
115+ EXPECT_EQ (cExpectedResult, _actualResult);
116+ }
117+ }
118+ }
119+ }
0 commit comments