00001 #include "artdaq/DAQrate/detail/FragCounter.hh" 00002 #include "canvas/Utilities/Exception.h" 00003 00004 using artdaq::detail::FragCounter; 00005 00006 #define BOOST_TEST_MODULE FragCounter_t 00007 #include <boost/test/auto_unit_test.hpp> 00008 00009 BOOST_AUTO_TEST_SUITE(FragCounter_test) 00010 00011 BOOST_AUTO_TEST_CASE(Construct) 00012 { 00013 FragCounter f1; 00014 } 00015 00016 BOOST_AUTO_TEST_CASE(nSlots) 00017 { 00018 FragCounter f1; 00019 BOOST_REQUIRE_EQUAL(f1.nSlots(), 0ul); 00020 } 00021 00022 BOOST_AUTO_TEST_CASE(Apply) 00023 { 00024 FragCounter f; 00025 f.incSlot(0); 00026 BOOST_REQUIRE_EQUAL(f.slotCount(0), 1ul); 00027 f.incSlot(1, 4); 00028 BOOST_REQUIRE_EQUAL(f.slotCount(1), 4ul); 00029 f.incSlot(1); 00030 BOOST_REQUIRE_EQUAL(f.slotCount(1), 5ul); 00031 f.incSlot(1, 2); 00032 BOOST_REQUIRE_EQUAL(f.slotCount(1), 7ul); 00033 BOOST_REQUIRE_EQUAL(f.slotCount(2), 0ul); 00034 BOOST_REQUIRE_EQUAL(f.count(), 8ul); 00035 } 00036 00037 BOOST_AUTO_TEST_CASE(ApplyWithOffset) 00038 { 00039 FragCounter f; 00040 f.incSlot(4); 00041 BOOST_REQUIRE_EQUAL(f.slotCount(4), 1ul); 00042 f.incSlot(5, 4); 00043 BOOST_REQUIRE_EQUAL(f.slotCount(5), 4ul); 00044 f.incSlot(5); 00045 BOOST_REQUIRE_EQUAL(f.slotCount(5), 5ul); 00046 f.incSlot(5, 2); 00047 BOOST_REQUIRE_EQUAL(f.slotCount(5), 7ul); 00048 BOOST_REQUIRE_EQUAL(f.slotCount(6), 0ul); 00049 BOOST_REQUIRE_EQUAL(f.count(), 8ul); 00050 } 00051 00052 BOOST_AUTO_TEST_SUITE_END()