-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRplTaskTest.cpp
More file actions
99 lines (82 loc) · 1.98 KB
/
RplTaskTest.cpp
File metadata and controls
99 lines (82 loc) · 1.98 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#include <gtest/gtest.h>
#include "RplTask.h"
#include "RplTaskTest.h"
/*tests TODO:
* - check all statuses are set correctly
* - onStart, onResume, onPause, onLoop are called when intended
* - dependencies STOPPED before running task
* -
*/
/*
start, process, pause, processs, resume, process a task; check statuses inbetween
*/
TEST(statusTest, pauseResume) {
RplTask* task1 = (RplTask*)new TestTask();
TaskStatus expected = CREATED;
EXPECT_EQ(task1->getStatus(), expected) << "CREATED";
task1->start();
expected = STARTING;
EXPECT_EQ(task1->getStatus(), expected) << "STARTING";
task1->process(0); //needs to process once before pausing, so onStart() can run
expected = RUNNING;
EXPECT_EQ(task1->getStatus(), expected) << "RUNNING";
task1->pause();
expected = PAUSING;
EXPECT_EQ(task1->getStatus(), expected) << "PAUSING";
task1->process(0);
expected = STOPPED;
EXPECT_EQ(task1->getStatus(), expected) << "STOPPED";
task1->resume();
expected = RESUMING;
EXPECT_EQ(task1->getStatus(), expected) << "RESUMING";
task1->process(0);
expected = RUNNING;
EXPECT_EQ(task1->getStatus(), expected) << "RUNNING";
}
/*
check onStart runs properly
*/
TEST(onTest, onStartTest) {
TestTask* task1 = new TestTask();
EXPECT_EQ(task1->i, 0);
task1->start();
task1->process(0);
EXPECT_EQ(task1->i, 1);
}
/*
check onLoop runs properly
*/
TEST(onTest, onLoopTest) {
TestTask* task1 = new TestTask();
EXPECT_EQ(task1->i, 0);
task1->start();
task1->process(0);
task1->process(0);
EXPECT_EQ(task1->i, 4);
}
/*
check onPause runs properly
*/
TEST(onTest, onPauseTest) {
TestTask* task1 = new TestTask();
EXPECT_EQ(task1->i, 0);
task1->start();
task1->process(0);
task1->pause();
task1->process(0);
EXPECT_EQ(task1->i, 3);
}
/*
check onResume runs properly
*/
TEST(onTest, onResumeTest) {
TestTask* task1 = new TestTask();
EXPECT_EQ(task1->i, 0);
task1->start();
task1->process(0);
task1->pause();
task1->process(0);
task1->resume();
task1->process(0);
EXPECT_EQ(task1->i, 2);
}