3 #include <boost/test/unit_test.hpp> 11 tested_class t(1000, std::chrono::microseconds(1000));
12 BOOST_CHECK_EQUAL(t.nsamples(), 0);
13 BOOST_CHECK_THROW(t.last_rate(), std::invalid_argument);
14 BOOST_CHECK_THROW(t.estimated_mean(), std::invalid_argument);
16 t.sample(std::chrono::microseconds(10));
17 t.sample(std::chrono::microseconds(10));
18 t.sample(std::chrono::microseconds(11));
19 BOOST_CHECK_EQUAL(t.nsamples(), 1);
20 BOOST_CHECK_EQUAL(t.last_rate(), 2);
21 BOOST_CHECK_EQUAL(t.observed_max(), 2);
30 tested_class t(1000, std::chrono::microseconds(1000));
31 BOOST_CHECK_EQUAL(t.nsamples(), 0);
32 BOOST_CHECK_THROW(t.last_rate(), std::invalid_argument);
33 BOOST_CHECK_THROW(t.estimated_mean(), std::invalid_argument);
35 t.sample(std::chrono::microseconds(10));
36 t.sample(std::chrono::microseconds(11));
37 t.sample(std::chrono::microseconds(12));
38 BOOST_CHECK_EQUAL(t.nsamples(), 2);
39 BOOST_CHECK_EQUAL(t.last_rate(), 2);
40 BOOST_CHECK_EQUAL(t.observed_max(), 2);
41 t.sample(std::chrono::microseconds(1012));
42 BOOST_CHECK_EQUAL(t.nsamples(), 1002);
43 BOOST_CHECK_EQUAL(t.last_rate(), 1);
44 BOOST_CHECK_EQUAL(t.observed_max(), 3);
45 t.sample(std::chrono::microseconds(5012));
46 BOOST_CHECK_EQUAL(t.nsamples(), 5002);
47 BOOST_CHECK_EQUAL(t.last_rate(), 0);
48 BOOST_CHECK_EQUAL(t.observed_max(), 3);
BOOST_AUTO_TEST_CASE(event_rate_histogram_basics)
Keep a histogram of observed event rates.