12#include <catch_amalgamated.hpp>
14#include "../src/DataInputDirector.h"
19#include <TObjString.h>
28 CHECK(ctx.levelForOrigin(
"AOD") == -1);
29 CHECK(ctx.levelForOrigin(
"DYN") == -1);
35 ctx.parentLevelToOrigin = {{
"DYN", 1}};
36 CHECK(ctx.levelForOrigin(
"DYN") == 1);
37 CHECK(ctx.levelForOrigin(
"AOD") == -1);
43 ctx.parentLevelToOrigin = {{
"DYN", 1}, {
"EMB", 2}, {
"EXT", 1}};
44 CHECK(ctx.levelForOrigin(
"DYN") == 1);
45 CHECK(ctx.levelForOrigin(
"EMB") == 2);
46 CHECK(ctx.levelForOrigin(
"EXT") == 1);
47 CHECK(ctx.levelForOrigin(
"AOD") == -1);
48 CHECK(ctx.levelForOrigin(
"") == -1);
53TEST_CASE(
"navigateToLevel returns null with no input files")
57 ctx.allowedParentLevel = 2;
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");
98 ctx.allowedParentLevel = 2;
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);
124 ctx.allowedParentLevel = 2;
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)
TEST_CASE("levelForOrigin empty mapping")