Public Member Functions | Private Member Functions | List of all members
testFileIndex Class Reference
Inheritance diagram for testFileIndex:

Public Member Functions

void setUp ()
 
void tearDown ()
 
void constructAndInsertTest ()
 
void eventSortAndSearchTest ()
 
void eventEntrySortAndSearchTest ()
 
void eventsUniqueAndOrderedTest ()
 
bool areEntryVectorsTheSame (art::FileIndex &i1, art::FileIndex &i2)
 

Private Member Functions

 CPPUNIT_TEST_SUITE (testFileIndex)
 
 CPPUNIT_TEST (constructAndInsertTest)
 
 CPPUNIT_TEST (eventSortAndSearchTest)
 
 CPPUNIT_TEST (eventEntrySortAndSearchTest)
 
 CPPUNIT_TEST (eventsUniqueAndOrderedTest)
 
 CPPUNIT_TEST_SUITE_END ()
 

Detailed Description

Definition at line 9 of file fileIndex_t.cppunit.cc.

Member Function Documentation

bool testFileIndex::areEntryVectorsTheSame ( art::FileIndex i1,
art::FileIndex i2 
)

Definition at line 473 of file fileIndex_t.cppunit.cc.

474 {
475  if (i1.size() != i2.size())
476  return false;
477  for (art::FileIndex::const_iterator iter1 = i1.begin(), iter2 = i2.begin();
478  iter1 != i1.end();
479  ++iter1, ++iter2) {
480  if (*iter1 != *iter2)
481  return false;
482  }
483  return true;
484 }
iterator begin()
Definition: FileIndex.cc:50
std::vector< Element >::size_type size() const
Definition: FileIndex.cc:86
iterator end()
Definition: FileIndex.cc:68
std::vector< Element >::const_iterator const_iterator
Definition: FileIndex.h:75
void testFileIndex::constructAndInsertTest ( )

Definition at line 37 of file fileIndex_t.cppunit.cc.

38 {
39  art::FileIndex fileIndex;
40  CPPUNIT_ASSERT(fileIndex.empty());
41  CPPUNIT_ASSERT(fileIndex.size() == 0);
42  CPPUNIT_ASSERT(fileIndex.begin() == fileIndex.end());
43 
44  fileIndex.addEntry(art::EventID(100, 101, 102), 1);
45  fileIndex.addEntry(art::EventID::invalidEvent(art::SubRunID(200, 201)), 2);
46  fileIndex.addEntry(art::EventID(300, 0, 1), 3);
48  fileIndex.addEntry(art::EventID(100, 101, 103), 3);
49 
50  CPPUNIT_ASSERT(!fileIndex.empty());
51  CPPUNIT_ASSERT(fileIndex.size() == 5);
52 
53  art::FileIndex::const_iterator iter = fileIndex.begin();
54  CPPUNIT_ASSERT(iter->eventID_ == art::EventID(100, 101, 102));
55  CPPUNIT_ASSERT(iter->entry_ == 1);
56  CPPUNIT_ASSERT(iter->getEntryType() == art::FileIndex::kEvent);
57 
58  ++iter;
59  CPPUNIT_ASSERT(iter->getEntryType() == art::FileIndex::kSubRun);
60 
61  ++iter;
62  CPPUNIT_ASSERT(iter->getEntryType() == art::FileIndex::kEvent);
63 
64  ++iter;
65  CPPUNIT_ASSERT(iter->eventID_ == art::EventID::invalidEvent(art::RunID(300)));
66  CPPUNIT_ASSERT(iter->entry_ == 3);
67  CPPUNIT_ASSERT(iter->getEntryType() == art::FileIndex::kRun);
68 
69  ++iter;
70  ++iter;
71  CPPUNIT_ASSERT(iter == fileIndex.end());
72 
73  CPPUNIT_ASSERT(fileIndex.allEventsInEntryOrder() == true);
74  CPPUNIT_ASSERT(fileIndex.allEventsInEntryOrder() == true);
75 }
iterator begin()
Definition: FileIndex.cc:50
bool allEventsInEntryOrder() const
Definition: FileIndex.cc:165
bool empty() const
Definition: FileIndex.cc:92
std::vector< Element >::size_type size() const
Definition: FileIndex.cc:86
void addEntry(EventID const &eID, EntryNumber_t entry)
Definition: FileIndex.cc:134
iterator end()
Definition: FileIndex.cc:68
std::vector< Element >::const_iterator const_iterator
Definition: FileIndex.h:75
static constexpr EventID invalidEvent() noexcept
Definition: EventID.h:202
testFileIndex::CPPUNIT_TEST ( constructAndInsertTest  )
private
testFileIndex::CPPUNIT_TEST ( eventSortAndSearchTest  )
private
testFileIndex::CPPUNIT_TEST ( eventEntrySortAndSearchTest  )
private
testFileIndex::CPPUNIT_TEST ( eventsUniqueAndOrderedTest  )
private
testFileIndex::CPPUNIT_TEST_SUITE ( testFileIndex  )
private
testFileIndex::CPPUNIT_TEST_SUITE_END ( )
private
void testFileIndex::eventEntrySortAndSearchTest ( )

Definition at line 292 of file fileIndex_t.cppunit.cc.

293 {
294 
295  // Note this contains some illegal duplicates
296  // For the moment there is nothing to prevent
297  // these from occurring so we handle this using
298  // a stable_sort for now ... They will not bother
299  // the FileIndex.
300 
301  art::FileIndex fileIndex;
302  fileIndex.addEntry(art::EventID(3, 3, 2), 5);
303  fileIndex.addEntry(art::EventID(3, 3, 1), 4);
304  fileIndex.addEntry(art::EventID(3, 3, 3), 3);
311  fileIndex.addEntry(art::EventID(3, 3, 1), 1);
312  fileIndex.addEntry(art::EventID(1, 2, 2), 2);
313  fileIndex.addEntry(art::EventID(1, 2, 4), 1);
315  fileIndex.addEntry(art::EventID(1, 2, 1), 2);
316 
317  fileIndex.sortBy_Run_SubRun_EventEntry();
318 
319  art::FileIndex shouldBe;
322  shouldBe.addEntry(art::EventID(1, 2, 4), 1);
323  shouldBe.addEntry(art::EventID(1, 2, 2), 2);
324  shouldBe.addEntry(art::EventID(1, 2, 1), 2);
330  shouldBe.addEntry(art::EventID(3, 3, 1), 1);
331  shouldBe.addEntry(art::EventID(3, 3, 3), 3);
332  shouldBe.addEntry(art::EventID(3, 3, 1), 4);
333  shouldBe.addEntry(art::EventID(3, 3, 2), 5);
334 
335  CPPUNIT_ASSERT(areEntryVectorsTheSame(fileIndex, shouldBe));
336 
338  fileIndex.findPosition(art::SubRunID(3, 1), true);
339  CPPUNIT_ASSERT((iter - fileIndex.begin()) == 7);
340 
341  iter = fileIndex.findPosition(art::SubRunID(3, 2), true);
342  CPPUNIT_ASSERT(iter == fileIndex.end());
343 
344  iter = fileIndex.findPosition(art::SubRunID(3, 1), false);
345  CPPUNIT_ASSERT((iter - fileIndex.begin()) == 7);
346 
347  iter = fileIndex.findPosition(art::SubRunID(3, 2), false);
348  CPPUNIT_ASSERT((iter - fileIndex.begin()) == 8);
349 
350  iter = fileIndex.findPosition(art::RunID(3), true);
351  CPPUNIT_ASSERT((iter - fileIndex.begin()) == 5);
352 
353  iter = fileIndex.findPosition(art::RunID(2), true);
354  CPPUNIT_ASSERT(iter == fileIndex.end());
355 
356  iter = fileIndex.findPosition(art::RunID(2), false);
357  CPPUNIT_ASSERT((iter - fileIndex.begin()) == 5);
358 
359  iter = fileIndex.findSubRunOrRunPosition(art::SubRunID(1, 2));
360  CPPUNIT_ASSERT((iter - fileIndex.begin()) == 1);
361 
362  iter = fileIndex.findSubRunOrRunPosition(
364  CPPUNIT_ASSERT((iter - fileIndex.begin()) == 5);
365 
366  iter = fileIndex.findSubRunOrRunPosition(art::SubRunID(3, 4));
367  CPPUNIT_ASSERT(iter == fileIndex.end());
368 
369  iter = fileIndex.findSubRunOrRunPosition(art::SubRunID(3, 2));
370  CPPUNIT_ASSERT((iter - fileIndex.begin()) == 8);
371 
372  iter = fileIndex.findSubRunOrRunPosition(art::SubRunID(2, 1));
373  CPPUNIT_ASSERT((iter - fileIndex.begin()) == 5);
374 }
iterator begin()
Definition: FileIndex.cc:50
const_iterator findSubRunOrRunPosition(SubRunID const &srID) const
Definition: FileIndex.cc:306
void sortBy_Run_SubRun_EventEntry()
Definition: FileIndex.cc:157
bool areEntryVectorsTheSame(art::FileIndex &i1, art::FileIndex &i2)
const_iterator findPosition(EventID const &eID) const
Definition: FileIndex.cc:227
void addEntry(EventID const &eID, EntryNumber_t entry)
Definition: FileIndex.cc:134
iterator end()
Definition: FileIndex.cc:68
std::vector< Element >::const_iterator const_iterator
Definition: FileIndex.h:75
static constexpr EventID invalidEvent() noexcept
Definition: EventID.h:202
static SubRunID invalidSubRun(RunID const &rID)
Definition: SubRunID.h:163
void testFileIndex::eventSortAndSearchTest ( )

Definition at line 78 of file fileIndex_t.cppunit.cc.

79 {
80  // Note this contains some illegal duplicates
81  // For the moment there is nothing to prevent
82  // these from occurring so we handle this using
83  // a stable_sort for now ... They will not bother
84  // the FileIndex.
85 
86  art::FileIndex fileIndex;
87  fileIndex.addEntry(art::EventID(3, 3, 2), 5);
88  fileIndex.addEntry(art::EventID(3, 3, 1), 4);
89  fileIndex.addEntry(art::EventID(3, 3, 3), 3);
96  fileIndex.addEntry(art::EventID(3, 3, 1), 1);
97  fileIndex.addEntry(art::EventID(1, 2, 2), 2);
98  fileIndex.addEntry(art::EventID(1, 2, 4), 1);
100  fileIndex.addEntry(art::EventID(1, 2, 1), 2);
103  fileIndex.addEntry(art::EventID::invalidEvent(art::SubRunID(6, 1)), 10);
104  fileIndex.addEntry(art::EventID::invalidEvent(art::SubRunID(6, 3)), 11);
105  fileIndex.addEntry(art::EventID::invalidEvent(art::SubRunID(6, 4)), 12);
106  fileIndex.addEntry(art::EventID::invalidEvent(art::SubRunID(6, 5)), 13);
107  fileIndex.addEntry(art::EventID::invalidEvent(art::SubRunID(6, 8)), 14);
108  fileIndex.addEntry(art::EventID::invalidEvent(art::SubRunID(6, 9)), 15);
109  fileIndex.addEntry(art::EventID::invalidEvent(art::SubRunID(9, 1)), 16);
110  fileIndex.addEntry(art::EventID::invalidEvent(art::SubRunID(9, 2)), 17);
112  fileIndex.addEntry(art::EventID(6, 0, 4), 12);
113  fileIndex.addEntry(art::EventID(6, 1, 5), 13);
114  fileIndex.addEntry(art::EventID(6, 1, 6), 14);
115  fileIndex.addEntry(art::EventID(6, 1, 7), 15);
116  fileIndex.addEntry(art::EventID(6, 3, 9), 16);
117  fileIndex.addEntry(art::EventID(6, 5, 13), 17);
118  fileIndex.addEntry(art::EventID(6, 5, 14), 18);
119  fileIndex.addEntry(art::EventID(6, 8, 15), 19);
120  fileIndex.addEntry(art::EventID(6, 9, 5), 20);
121  fileIndex.addEntry(art::EventID(6, 9, 25), 21);
122  fileIndex.addEntry(art::EventID(6, 9, 25), 27);
123  fileIndex.addEntry(art::EventID(9, 1, 5), 22);
124  fileIndex.addEntry(art::EventID(9, 2, 5), 23);
125  fileIndex.sortBy_Run_SubRun_Event();
126 
127  art::FileIndex shouldBe;
130  shouldBe.addEntry(art::EventID(1, 2, 1), 2);
131  shouldBe.addEntry(art::EventID(1, 2, 2), 2);
132  shouldBe.addEntry(art::EventID(1, 2, 4), 1);
138  shouldBe.addEntry(art::EventID(3, 3, 1), 4);
139  shouldBe.addEntry(art::EventID(3, 3, 1), 1);
140  shouldBe.addEntry(art::EventID(3, 3, 2), 5);
141  shouldBe.addEntry(art::EventID(3, 3, 3), 3);
144  shouldBe.addEntry(art::EventID(6, 0, 4), 12);
146  shouldBe.addEntry(art::EventID(6, 1, 5), 13);
147  shouldBe.addEntry(art::EventID(6, 1, 6), 14);
148  shouldBe.addEntry(art::EventID(6, 1, 7), 15);
150  shouldBe.addEntry(art::EventID(6, 3, 9), 16);
153  shouldBe.addEntry(art::EventID(6, 5, 13), 17);
154  shouldBe.addEntry(art::EventID(6, 5, 14), 18);
156  shouldBe.addEntry(art::EventID(6, 8, 15), 19);
158  shouldBe.addEntry(art::EventID(6, 9, 5), 20);
159  shouldBe.addEntry(art::EventID(6, 9, 25), 21);
160  shouldBe.addEntry(art::EventID(6, 9, 25), 27);
163  shouldBe.addEntry(art::EventID(9, 1, 5), 22);
165  shouldBe.addEntry(art::EventID(9, 2, 5), 23);
166 
167  CPPUNIT_ASSERT(areEntryVectorsTheSame(fileIndex, shouldBe));
168 
169  CPPUNIT_ASSERT(fileIndex.allEventsInEntryOrder() == false);
170  CPPUNIT_ASSERT(fileIndex.allEventsInEntryOrder() == false);
171 
173  fileIndex.findPosition(art::EventID(3, 3, 2));
174  CPPUNIT_ASSERT((iter - fileIndex.begin()) == 12);
175  CPPUNIT_ASSERT(iter->eventID_ == art::EventID(3, 3, 2));
176  CPPUNIT_ASSERT(iter->entry_ == 5);
177 
178  iter = fileIndex.findPosition(art::EventID(3, 3, 7));
179  CPPUNIT_ASSERT((iter - fileIndex.begin()) == 14);
180 
181  iter = fileIndex.findPosition(art::EventID(1, 2, 3));
182  CPPUNIT_ASSERT((iter - fileIndex.begin()) == 4);
183 
184  iter =
186  CPPUNIT_ASSERT((iter - fileIndex.begin()) == 8);
187 
188  iter =
190  CPPUNIT_ASSERT((iter - fileIndex.begin()) == 1);
191 
192  iter = fileIndex.findPosition(art::EventID::invalidEvent(art::RunID(1)));
193  CPPUNIT_ASSERT((iter - fileIndex.begin()) == 0);
194 
195  iter = fileIndex.findPosition(art::EventID::invalidEvent(art::RunID(2)));
196  CPPUNIT_ASSERT((iter - fileIndex.begin()) == 5);
197 
198  iter = fileIndex.findPosition(art::EventID(2, 0, 1));
199  CPPUNIT_ASSERT((iter - fileIndex.begin()) == 5);
200 
201  iter = fileIndex.findPosition(art::EventID(1, 2, 3));
202  CPPUNIT_ASSERT((iter - fileIndex.begin()) == 4);
203 
204  iter = fileIndex.findPosition(art::EventID(3, 0, 3));
205  CPPUNIT_ASSERT((iter - fileIndex.begin()) == 7);
206 
207  iter = fileIndex.findPosition(art::EventID(3, 3, 2), true);
208  CPPUNIT_ASSERT((iter - fileIndex.begin()) == 12);
209  CPPUNIT_ASSERT(fileIndex.contains(art::EventID(3, 3, 2), true));
210 
211  iter = fileIndex.findPosition(art::EventID(1, 2, 3), true);
212  CPPUNIT_ASSERT(iter == fileIndex.end());
213  CPPUNIT_ASSERT(!fileIndex.contains(art::EventID(1, 2, 3), true));
214 
215  iter = fileIndex.findPosition(art::EventID(1, 2, 3), false);
216  CPPUNIT_ASSERT((iter - fileIndex.begin()) == 4);
217  CPPUNIT_ASSERT(fileIndex.contains(art::EventID(1, 2, 3), false));
218 
219  iter = fileIndex.findPosition(art::EventID(3, 0, 1), true);
220  CPPUNIT_ASSERT(iter == fileIndex.end());
221 
222  iter = fileIndex.findPosition(art::SubRunID(3, 1), true);
223  CPPUNIT_ASSERT((iter - fileIndex.begin()) == 7);
224 
225  iter = fileIndex.findPosition(art::SubRunID(3, 2), true);
226  CPPUNIT_ASSERT(iter == fileIndex.end());
227 
228  iter = fileIndex.findPosition(art::SubRunID(3, 1), false);
229  CPPUNIT_ASSERT((iter - fileIndex.begin()) == 7);
230 
231  iter = fileIndex.findPosition(art::SubRunID(3, 2), false);
232  CPPUNIT_ASSERT((iter - fileIndex.begin()) == 8);
233 
234  CPPUNIT_ASSERT(fileIndex.contains(art::SubRunID(3, 3), true));
235  CPPUNIT_ASSERT(!fileIndex.contains(art::SubRunID(2, 3), true));
236 
237  iter = fileIndex.findPosition(art::RunID(3), true);
238  CPPUNIT_ASSERT((iter - fileIndex.begin()) == 5);
239 
240  iter = fileIndex.findPosition(art::RunID(2), true);
241  CPPUNIT_ASSERT(iter == fileIndex.end());
242 
243  iter = fileIndex.findPosition(art::RunID(2), false);
244  CPPUNIT_ASSERT((iter - fileIndex.begin()) == 5);
245 
246  CPPUNIT_ASSERT(fileIndex.contains(art::RunID(3), true));
247  CPPUNIT_ASSERT(!fileIndex.contains(art::RunID(2), true));
248 
249  iter = fileIndex.findSubRunOrRunPosition(art::SubRunID(1, 2));
250  CPPUNIT_ASSERT((iter - fileIndex.begin()) == 1);
251 
252  iter = fileIndex.findSubRunOrRunPosition(
254  CPPUNIT_ASSERT((iter - fileIndex.begin()) == 5);
255 
256  iter = fileIndex.findSubRunOrRunPosition(art::SubRunID(3, 4));
257  CPPUNIT_ASSERT((iter - fileIndex.begin()) == 14);
258 
259  iter = fileIndex.findSubRunOrRunPosition(art::SubRunID(3, 2));
260  CPPUNIT_ASSERT((iter - fileIndex.begin()) == 8);
261 
262  iter = fileIndex.findSubRunOrRunPosition(art::SubRunID(2, 1));
263  CPPUNIT_ASSERT((iter - fileIndex.begin()) == 5);
264 
265  // Search for event without using subrun number.
266  iter = fileIndex.findPosition(
268  CPPUNIT_ASSERT((iter - fileIndex.begin()) == 4);
269 
270  iter = fileIndex.findPosition(
272  CPPUNIT_ASSERT(iter == fileIndex.end());
273 
274  iter = fileIndex.findPosition(
276  CPPUNIT_ASSERT((iter - fileIndex.begin()) == 10);
277 
278  iter = fileIndex.findPosition(
280  CPPUNIT_ASSERT((iter - fileIndex.begin()) == 16);
281 
282  iter = fileIndex.findPosition(
284  CPPUNIT_ASSERT((iter - fileIndex.begin()) == 22);
285 
286  iter = fileIndex.findPosition(
288  CPPUNIT_ASSERT((iter - fileIndex.begin()) == 31);
289 }
iterator begin()
Definition: FileIndex.cc:50
const_iterator findSubRunOrRunPosition(SubRunID const &srID) const
Definition: FileIndex.cc:306
bool allEventsInEntryOrder() const
Definition: FileIndex.cc:165
bool areEntryVectorsTheSame(art::FileIndex &i1, art::FileIndex &i2)
void sortBy_Run_SubRun_Event()
Definition: FileIndex.cc:149
const_iterator findPosition(EventID const &eID) const
Definition: FileIndex.cc:227
void addEntry(EventID const &eID, EntryNumber_t entry)
Definition: FileIndex.cc:134
iterator end()
Definition: FileIndex.cc:68
std::vector< Element >::const_iterator const_iterator
Definition: FileIndex.h:75
bool contains(EventID const &id, bool exact) const
Definition: FileIndex.cc:116
static constexpr EventID invalidEvent() noexcept
Definition: EventID.h:202
static SubRunID invalidSubRun(RunID const &rID)
Definition: SubRunID.h:163
void testFileIndex::eventsUniqueAndOrderedTest ( )

Definition at line 377 of file fileIndex_t.cppunit.cc.

378 {
379 
380  // Test the different cases
381 
382  // Nothing in the FileIndex
383  art::FileIndex fileIndex;
384  CPPUNIT_ASSERT(fileIndex.eventsUniqueAndOrdered());
385 
386  // No events
387  art::FileIndex fileIndex1;
389  fileIndex1.addEntry(art::EventID::invalidEvent(art::SubRunID(1, 1)), 1);
390  CPPUNIT_ASSERT(fileIndex1.eventsUniqueAndOrdered());
391 
392  // One event and nothing after it
393  art::FileIndex fileIndex2;
395  fileIndex2.addEntry(art::EventID::invalidEvent(art::SubRunID(1, 2)), 1);
396  fileIndex2.addEntry(art::EventID(1, 2, 1), 1);
397  CPPUNIT_ASSERT(fileIndex2.eventsUniqueAndOrdered());
398 
399  // One event with a run after it
400  art::FileIndex fileIndex3;
402  fileIndex3.addEntry(art::EventID::invalidEvent(art::SubRunID(1, 2)), 1);
403  fileIndex3.addEntry(art::EventID(1, 2, 1), 1);
404  fileIndex3.addEntry(art::EventID::invalidEvent(art::RunID(2)), 2);
405  CPPUNIT_ASSERT(fileIndex3.eventsUniqueAndOrdered());
406 
407  // Two events
408  art::FileIndex fileIndex4;
410  fileIndex4.addEntry(art::EventID::invalidEvent(art::SubRunID(1, 1)), 1);
411  fileIndex4.addEntry(art::EventID(1, 1, 1), 1);
412  fileIndex4.addEntry(art::EventID::invalidEvent(art::RunID(2)), 2);
413  fileIndex4.addEntry(art::EventID::invalidEvent(art::SubRunID(2, 1)), 2);
414  fileIndex4.addEntry(art::EventID(2, 1, 1), 2);
415  CPPUNIT_ASSERT(fileIndex4.eventsUniqueAndOrdered());
416 
417  // Two events, same run and event number
418  art::FileIndex fileIndex5;
420  fileIndex5.addEntry(art::EventID::invalidEvent(art::SubRunID(1, 1)), 1);
421  fileIndex5.addEntry(art::EventID(1, 1, 1), 1);
422  fileIndex5.addEntry(art::EventID::invalidEvent(art::RunID(1)), 2);
423  fileIndex5.addEntry(art::EventID::invalidEvent(art::SubRunID(1, 2)), 2);
424  fileIndex5.addEntry(art::EventID(1, 2, 1), 2);
425  CPPUNIT_ASSERT(fileIndex5.eventsUniqueAndOrdered());
426 
427  // Not ordered by run
428  art::FileIndex fileIndex6;
430  fileIndex6.addEntry(art::EventID::invalidEvent(art::SubRunID(1, 2)), 1);
431  fileIndex6.addEntry(art::EventID(1, 2, 1), 1);
432  fileIndex6.addEntry(art::EventID::invalidEvent(art::RunID(2)), 2);
433  fileIndex6.addEntry(art::EventID::invalidEvent(art::SubRunID(2, 1)), 2);
434  fileIndex6.addEntry(art::EventID(2, 1, 1), 2);
435  fileIndex6.addEntry(art::EventID::invalidEvent(art::RunID(1)), 3);
436  fileIndex6.addEntry(art::EventID::invalidEvent(art::SubRunID(1, 3)), 3);
437  fileIndex6.addEntry(art::EventID(1, 3, 1), 3);
438  CPPUNIT_ASSERT(!fileIndex6.eventsUniqueAndOrdered());
439 
440  // Not ordered by event
441  art::FileIndex fileIndex7;
443  fileIndex7.addEntry(art::EventID::invalidEvent(art::SubRunID(1, 2)), 1);
444  fileIndex7.addEntry(art::EventID(1, 2, 1), 1);
445  fileIndex7.addEntry(art::EventID::invalidEvent(art::RunID(2)), 2);
446  fileIndex7.addEntry(art::EventID::invalidEvent(art::SubRunID(2, 1)), 2);
447  fileIndex7.addEntry(art::EventID(2, 1, 2), 2);
448  fileIndex7.addEntry(art::EventID::invalidEvent(art::SubRunID(2, 3)), 3);
449  fileIndex7.addEntry(art::EventID(2, 3, 1), 3);
450  CPPUNIT_ASSERT(fileIndex7.eventsUniqueAndOrdered());
451 
452  // OK, ordered by event and unique
453  art::FileIndex fileIndex8;
455  fileIndex8.addEntry(art::EventID::invalidEvent(art::SubRunID(1, 1)), 1);
456  fileIndex8.addEntry(art::EventID(1, 1, 1), 1);
457  fileIndex8.addEntry(art::EventID(1, 1, 2), 1);
458  fileIndex8.addEntry(art::EventID(1, 1, 3), 1);
459  fileIndex8.addEntry(art::EventID(1, 1, 4), 1);
460  fileIndex8.addEntry(art::EventID::invalidEvent(art::RunID(2)), 2);
461  fileIndex8.addEntry(art::EventID::invalidEvent(art::SubRunID(2, 1)), 2);
462  fileIndex8.addEntry(art::EventID(2, 1, 1), 2);
463  fileIndex8.addEntry(art::EventID::invalidEvent(art::SubRunID(2, 3)), 3);
464  fileIndex8.addEntry(art::EventID(2, 3, 2), 3);
465  fileIndex8.addEntry(art::EventID(2, 3, 3), 3);
466  fileIndex8.addEntry(art::EventID(2, 3, 4), 3);
467  fileIndex8.addEntry(art::EventID(2, 3, 5), 3);
468  fileIndex8.addEntry(art::EventID(2, 3, 6), 3);
469  CPPUNIT_ASSERT(fileIndex8.eventsUniqueAndOrdered());
470 }
void addEntry(EventID const &eID, EntryNumber_t entry)
Definition: FileIndex.cc:134
bool eventsUniqueAndOrdered() const
Definition: FileIndex.cc:186
static constexpr EventID invalidEvent() noexcept
Definition: EventID.h:202
void testFileIndex::setUp ( )
inline

Definition at line 19 of file fileIndex_t.cppunit.cc.

20  {}
void testFileIndex::tearDown ( )
inline

Definition at line 22 of file fileIndex_t.cppunit.cc.

23  {}

The documentation for this class was generated from the following file: