File indexing completed on 2023-10-25 09:39:54
0001
0002
0003
0004
0005
0006
0007
0008
0009 #include "cppunit/extensions/HelperMacros.h"
0010
0011 #include "DataFormats/Provenance/interface/LuminosityBlockRange.h"
0012
0013 using namespace edm;
0014
0015 class testLumiRange : public CppUnit::TestFixture {
0016 CPPUNIT_TEST_SUITE(testLumiRange);
0017
0018 CPPUNIT_TEST(constructTest);
0019 CPPUNIT_TEST(comparisonTest);
0020 CPPUNIT_TEST(overlapTest);
0021
0022 CPPUNIT_TEST_SUITE_END();
0023
0024 public:
0025 void setUp() {}
0026 void tearDown() {}
0027
0028 void constructTest();
0029 void comparisonTest();
0030 void overlapTest();
0031 };
0032
0033
0034 CPPUNIT_TEST_SUITE_REGISTRATION(testLumiRange);
0035
0036 void testLumiRange::constructTest() {
0037 const RunNumber_t rb = 1;
0038 const RunNumber_t re = 2;
0039 const LuminosityBlockNumber_t lb = 3;
0040 const LuminosityBlockNumber_t le = 4;
0041
0042 LuminosityBlockRange normal(rb, lb, re, le);
0043 LuminosityBlockRange maxed(rb, 0, re, 0);
0044 LuminosityBlockID dummy;
0045
0046 CPPUNIT_ASSERT(normal.startRun() == rb);
0047 CPPUNIT_ASSERT(normal.endRun() == re);
0048 CPPUNIT_ASSERT(normal.startLumi() == lb);
0049 CPPUNIT_ASSERT(normal.endLumi() == le);
0050 CPPUNIT_ASSERT(maxed.startLumiID().luminosityBlock() == dummy.maxLuminosityBlockNumber());
0051 CPPUNIT_ASSERT(maxed.endLumiID().luminosityBlock() == dummy.maxLuminosityBlockNumber());
0052 }
0053
0054 void testLumiRange::comparisonTest() {
0055 const LuminosityBlockID small(1, 1);
0056 const LuminosityBlockID med(7, 2);
0057 const LuminosityBlockID large(8, 10);
0058 const LuminosityBlockID larger(10, 1);
0059 const LuminosityBlockRange normal(5, 1, 8, 1);
0060 const LuminosityBlockRange maxed(5, 1, 8, 0);
0061
0062 CPPUNIT_ASSERT(!contains(normal, small));
0063 CPPUNIT_ASSERT(contains(normal, med));
0064 CPPUNIT_ASSERT(!contains(normal, large));
0065 CPPUNIT_ASSERT(!contains(normal, larger));
0066
0067 CPPUNIT_ASSERT(!contains(maxed, small));
0068 CPPUNIT_ASSERT(contains(maxed, med));
0069 CPPUNIT_ASSERT(contains(maxed, large));
0070 CPPUNIT_ASSERT(!contains(maxed, larger));
0071 }
0072
0073 void testLumiRange::overlapTest() {
0074 const LuminosityBlockRange normal(5, 1, 8, 1);
0075 const LuminosityBlockRange small(6, 1, 7, 1);
0076 const LuminosityBlockRange large(3, 1, 10, 1);
0077 const LuminosityBlockRange early(3, 1, 6, 1);
0078 const LuminosityBlockRange late(7, 1, 10, 1);
0079
0080 CPPUNIT_ASSERT(contains(normal, normal));
0081 CPPUNIT_ASSERT(contains(normal, small));
0082 CPPUNIT_ASSERT(!contains(normal, large));
0083 CPPUNIT_ASSERT(!contains(normal, early));
0084 CPPUNIT_ASSERT(!contains(normal, late));
0085 CPPUNIT_ASSERT(!contains(small, normal));
0086 CPPUNIT_ASSERT(contains(small, small));
0087 CPPUNIT_ASSERT(!contains(small, large));
0088 CPPUNIT_ASSERT(!contains(small, early));
0089 CPPUNIT_ASSERT(!contains(small, late));
0090 CPPUNIT_ASSERT(contains(large, normal));
0091 CPPUNIT_ASSERT(contains(large, small));
0092 CPPUNIT_ASSERT(contains(large, large));
0093 CPPUNIT_ASSERT(contains(large, early));
0094 CPPUNIT_ASSERT(contains(large, late));
0095 CPPUNIT_ASSERT(!contains(early, normal));
0096 CPPUNIT_ASSERT(!contains(early, small));
0097 CPPUNIT_ASSERT(!contains(early, large));
0098 CPPUNIT_ASSERT(contains(early, early));
0099 CPPUNIT_ASSERT(!contains(early, late));
0100 CPPUNIT_ASSERT(!contains(late, normal));
0101 CPPUNIT_ASSERT(!contains(late, small));
0102 CPPUNIT_ASSERT(!contains(late, large));
0103 CPPUNIT_ASSERT(!contains(late, early));
0104 CPPUNIT_ASSERT(contains(late, late));
0105 CPPUNIT_ASSERT(overlaps(normal, normal));
0106 CPPUNIT_ASSERT(overlaps(normal, small));
0107 CPPUNIT_ASSERT(overlaps(normal, large));
0108 CPPUNIT_ASSERT(overlaps(normal, early));
0109 CPPUNIT_ASSERT(overlaps(normal, late));
0110 CPPUNIT_ASSERT(overlaps(small, normal));
0111 CPPUNIT_ASSERT(overlaps(small, small));
0112 CPPUNIT_ASSERT(overlaps(small, large));
0113 CPPUNIT_ASSERT(overlaps(small, early));
0114 CPPUNIT_ASSERT(overlaps(small, late));
0115 CPPUNIT_ASSERT(overlaps(large, normal));
0116 CPPUNIT_ASSERT(overlaps(large, small));
0117 CPPUNIT_ASSERT(overlaps(large, large));
0118 CPPUNIT_ASSERT(overlaps(large, early));
0119 CPPUNIT_ASSERT(overlaps(large, late));
0120 CPPUNIT_ASSERT(overlaps(early, normal));
0121 CPPUNIT_ASSERT(overlaps(early, small));
0122 CPPUNIT_ASSERT(overlaps(early, large));
0123 CPPUNIT_ASSERT(overlaps(early, early));
0124 CPPUNIT_ASSERT(!overlaps(early, late));
0125 CPPUNIT_ASSERT(overlaps(late, normal));
0126 CPPUNIT_ASSERT(overlaps(late, small));
0127 CPPUNIT_ASSERT(overlaps(late, large));
0128 CPPUNIT_ASSERT(!overlaps(late, early));
0129 CPPUNIT_ASSERT(overlaps(late, late));
0130 }
0131
0132
0133
0134
0135
0136
0137
0138
0139
0140
0141
0142
0143
0144
0145
0146
0147