12#include <catch_amalgamated.hpp>
14#include "../src/DataInputDirector.h"
19#include <TObjString.h>
53TEST_CASE(
"navigateToLevel returns null with no input files")
61 CHECK(parentFile ==
nullptr);
62 CHECK(parentNumTF == -1);
71static TMemFile* makeAODFile(
const char*
name)
73 auto*
f =
new TMemFile(
name,
"RECREATE");
79static TMemFile* makeAODFileWithParent(
const char*
name,
const char* parentName)
81 auto*
f =
new TMemFile(
name,
"RECREATE");
83 auto* parentMap =
new TMap();
84 parentMap->Add(
new TObjString(
"DF_1"),
new TObjString(parentName));
85 parentMap->Write(
"parentFiles", TObject::kSingleKey);
94 auto* parentMF = makeAODFile(
"parent.root");
95 auto* childMF = makeAODFileWithParent(
"child.root",
"parent.root");
99 ctx.
openFiles = {{
"child.root", childMF}, {
"parent.root", parentMF}};
106 REQUIRE(parentDesc !=
nullptr);
108 CHECK(parentNumTF == 0);
111TEST_CASE(
"navigateToLevel returns -1 for missing DF in parent")
114 auto* parentMF = makeAODFile(
"parent2.root");
116 auto* childMF =
new TMemFile(
"child2.root",
"RECREATE");
117 childMF->mkdir(
"DF_2");
118 auto* parentMap =
new TMap();
119 parentMap->Add(
new TObjString(
"DF_2"),
new TObjString(
"parent2.root"));
120 parentMap->Write(
"parentFiles", TObject::kSingleKey);
125 ctx.
openFiles = {{
"child2.root", childMF}, {
"parent2.root", parentMF}};
133 REQUIRE(parentDesc !=
nullptr);
134 CHECK(parentNumTF == -1);
GLuint const GLchar * name
Defining ITS Vertex explicitly as messageable.
FileNameHolder * makeFileNameHolder(std::string fileName)
std::vector< std::pair< std::string, int > > parentLevelToOrigin
std::vector< std::pair< std::string, TFile * > > openFiles
int levelForOrigin(std::string_view origin) const
TEST_CASE("levelForOrigin empty mapping")