1 #include <framework/core/ProcessStatistics.h>
2 #include <framework/core/Module.h>
4 #include <gtest/gtest.h>
10 class DummyModule :
public Module {
19 TEST(ProcessStatisticsTest, Clear)
22 EXPECT_EQ(0, a.getGlobal().getCalls());
23 EXPECT_EQ(0, a.getStatistics(
nullptr).getCalls());
24 EXPECT_EQ(0, a.getGlobal().getTimeMean());
28 a.stopModule(
nullptr, ModuleStatistics::c_Event);
29 a.stopGlobal(ModuleStatistics::c_Init);
31 EXPECT_EQ(1, a.getGlobal().getCalls());
32 EXPECT_EQ(1, a.getStatistics(
nullptr).getCalls());
33 EXPECT_TRUE(a.getGlobal().getTimeMean() > 0);
37 EXPECT_EQ(0, a.getGlobal().getCalls());
38 EXPECT_EQ(0, a.getStatistics(
nullptr).getCalls());
39 EXPECT_EQ(0, a.getGlobal().getTimeMean());
42 TEST(ProcessStatisticsTest, Merge)
48 a.stopGlobal(ModuleStatistics::c_Init);
50 a.stopModule(
nullptr, ModuleStatistics::c_Event);
53 b.stopGlobal(ModuleStatistics::c_Init);
55 b.stopModule(
nullptr, ModuleStatistics::c_Event);
57 EXPECT_EQ(1, a.getGlobal().getCalls());
58 EXPECT_EQ(1, a.getStatistics(
nullptr).getCalls());
59 float sum = a.getGlobal().getTimeSum();
65 EXPECT_EQ(1, a.getGlobal().getCalls());
66 EXPECT_EQ(2, a.getStatistics(
nullptr).getCalls());
67 EXPECT_FLOAT_EQ(sum, a.getGlobal().getTimeSum());
74 c.stopGlobal(ModuleStatistics::c_Init);
76 c.stopModule(&dummyMod, ModuleStatistics::c_Event);
78 sum += c.getGlobal().getTimeSum();
81 EXPECT_EQ(2, a.getGlobal().getCalls());
82 EXPECT_EQ(2, a.getStatistics(
nullptr).getCalls());
83 EXPECT_EQ(1, a.getStatistics(&dummyMod).getCalls());
84 EXPECT_FLOAT_EQ(sum, a.getGlobal().getTimeSum());