blob: 456346b5444d837e789334af1fedc75c38161eb3 (
plain)
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
|
#include "utils/macro.h"
#include "functional_module/timer/module_timer.h"
namespace functional_modules {
class TestTrackable : public Trackable {
public:
explicit TestTrackable(TimeUnit interval = 0)
: Trackable(), custom_interval_(interval) {}
virtual TimeUnit custom_interval() const {
return custom_interval_;
}
bool operator==(const TestTrackable& other) const {
return custom_interval_ == other.custom_interval_;
}
private:
TimeUnit custom_interval_;
};
class ModuleTimerTest {
public:
ModuleTimerTest(ModuleTimer<TestTrackable>& timer) : timer_(timer) {}
TimeUnit period() const {
return timer_.period_;
}
int observers_size() const {
return timer_.observers_.size();
}
int trackables_size() const {
return timer_.trackables_.size();
}
TestTrackable trackable(const TestTrackable& track) const {
return *std::find(
timer_.trackables_.begin(), timer_.trackables_.end(), track);
}
TimeUnit current_time() const {
return timer_.CurrentTime();
}
private:
ModuleTimer<TestTrackable>& timer_;
};
class MockTimerObserver : public TimerObserver<TestTrackable> {
public:
MOCK_METHOD1(OnTimeoutTriggered, void(const TestTrackable& expired));
};
} // namespace functional_modules
|