Skip to content
Snippets Groups Projects
Commit 88e36c8a authored by Steven Murray's avatar Steven Murray
Browse files

Added check_set_order_after_set_fseq_using_reference_delayed_insert

parent 38c34cbf
No related branches found
No related tags found
No related merge requests found
......@@ -100,4 +100,47 @@ TEST_F(cta_catalogue_TapeItemWrittenPointerTest, DISABLED_check_set_order_after_
}
}
TEST_F(cta_catalogue_TapeItemWrittenPointerTest, check_set_order_after_set_fseq_using_reference_delayed_insert) {
using namespace cta::catalogue;
std::set<TapeItemWrittenPointer> filesWrittenSet;
auto file1WrittenUP = cta::make_unique<TapeFileWritten>();
auto file2WrittenUP = cta::make_unique<TapeFileWritten>();
auto file1WrittenPtr = file1WrittenUP.get();
auto file2WrittenPtr = file2WrittenUP.get();
auto & file1Written = *file1WrittenUP;
file1Written.fSeq = 1;
auto & file2Written = *file2WrittenUP;
file2Written.fSeq = 2;
filesWrittenSet.insert(file1WrittenUP.release());
filesWrittenSet.insert(file2WrittenUP.release());
ASSERT_LT(file1Written, file2Written);
ASSERT_EQ(2, filesWrittenSet.size());
// Check the set contains the original objects
for(const auto &event: filesWrittenSet) {
ASSERT_TRUE(event.get() == file1WrittenPtr || event.get() == file2WrittenPtr);
if(event.get() == file1WrittenPtr) {
ASSERT_EQ(1, event->fSeq);
} else {
ASSERT_EQ(2, event->fSeq);
}
}
// Check the order of the set
uint64_t expectedFSeq = 1;
for(const auto &event: filesWrittenSet) {
ASSERT_EQ(expectedFSeq, event->fSeq);
expectedFSeq++;
}
}
} // namespace unitTests
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment