16 #include <gmock/gmock.h> 17 #include <gtest/gtest.h> 53 using ::testing::Return;
56 TEST(CollectorSuite, Child)
60 std::vector<MetricCollectorInterface *> collectors;
62 collectors.push_back(&mc);
69 EXPECT_CALL(mg,
Publish()).Times(1);
70 EXPECT_CALL(mc, Collect()).Times(1);
76 TEST(CollectorSuite, sysinfo)
82 EXPECT_CALL(mg,
AddMetric(testing::_)).Times(4);
87 TEST(CollectorSuite, cpu_usage_0)
93 EXPECT_CALL(mg,
AddMetric(testing::_)).Times(0);
99 TEST(CollectorSuite, cpu_usage_1)
105 EXPECT_CALL(mg,
AddMetric(testing::_)).Times(testing::AtLeast(1));
112 int main(
int argc,
char ** argv)
114 testing::InitGoogleTest(&argc, argv);
117 return RUN_ALL_TESTS();
virtual void AddDimension(const std::string &name, const std::string &value)=0
add global dimension (applies to all metrics).
MOCK_METHOD1(AddMetric, void(MetricData))
virtual MetricData CreateMetric() const =0
create a metric.
int main(int argc, char **argv)
Interface for MetricManager.
MOCK_METHOD0(Publish, void())
ROSCPP_DECL void init(int &argc, char **argv, const std::string &name, uint32_t options=0)
TEST(CollectorSuite, Child)
virtual void Publish()=0
publishes all metrics and then discards them.
void Collect() overridefinal
callback for collecting metrics.
MOCK_METHOD2(AddDimension, void(const std::string &, const std::string &))
void Collect() overridefinal
activates metrics collection.
MOCK_CONST_METHOD0(CreateMetric, MetricData())
Interface for a metrics collector.
collects metrics from sysinfo.
activates collectors and then publishes metrics.
MockMetricCollector(MetricManagerInterface &m)
virtual void AddMetric(MetricData md)=0
add a metric to list of metrics to be published.