File indexing completed on 2024-04-06 12:13:14
0001 #include <cppunit/extensions/HelperMacros.h>
0002
0003 #include "FWCore/Utilities/interface/IndexSet.h"
0004
0005 class testIndexSet : public CppUnit::TestFixture {
0006 CPPUNIT_TEST_SUITE(testIndexSet);
0007 CPPUNIT_TEST(test);
0008 CPPUNIT_TEST_SUITE_END();
0009
0010 public:
0011 void setUp() {}
0012 void tearDown() {}
0013
0014 void test();
0015 template <typename T>
0016 void testIterators(T& array);
0017 template <typename T>
0018 void testIterator(T iter, T end);
0019 };
0020
0021
0022 CPPUNIT_TEST_SUITE_REGISTRATION(testIndexSet);
0023
0024 void testIndexSet::test() {
0025 edm::IndexSet set;
0026 CPPUNIT_ASSERT(set.empty());
0027 CPPUNIT_ASSERT(set.size() == 0);
0028 CPPUNIT_ASSERT(!set.has(0));
0029
0030 set.reserve(10);
0031
0032 CPPUNIT_ASSERT(set.empty());
0033 CPPUNIT_ASSERT(set.size() == 0);
0034 CPPUNIT_ASSERT(!set.has(0));
0035
0036 set.insert(0);
0037 CPPUNIT_ASSERT(!set.empty());
0038 CPPUNIT_ASSERT(set.size() == 1);
0039 CPPUNIT_ASSERT(set.has(0));
0040 CPPUNIT_ASSERT(!set.has(1));
0041
0042 set.insert(2);
0043 CPPUNIT_ASSERT(set.size() == 2);
0044 CPPUNIT_ASSERT(set.has(0));
0045 CPPUNIT_ASSERT(!set.has(1));
0046 CPPUNIT_ASSERT(set.has(2));
0047 CPPUNIT_ASSERT(!set.has(3));
0048
0049 set.insert(20);
0050 CPPUNIT_ASSERT(set.size() == 3);
0051 CPPUNIT_ASSERT(set.has(0));
0052 CPPUNIT_ASSERT(!set.has(1));
0053 CPPUNIT_ASSERT(set.has(2));
0054 CPPUNIT_ASSERT(!set.has(3));
0055 CPPUNIT_ASSERT(!set.has(19));
0056 CPPUNIT_ASSERT(set.has(20));
0057 CPPUNIT_ASSERT(!set.has(21));
0058
0059 set.insert(2);
0060 CPPUNIT_ASSERT(set.size() == 3);
0061 CPPUNIT_ASSERT(set.has(2));
0062
0063 set.clear();
0064 CPPUNIT_ASSERT(set.empty());
0065 CPPUNIT_ASSERT(set.size() == 0);
0066 CPPUNIT_ASSERT(!set.has(0));
0067 CPPUNIT_ASSERT(!set.has(1));
0068 CPPUNIT_ASSERT(!set.has(2));
0069 CPPUNIT_ASSERT(!set.has(3));
0070 }