I'd been away from #cplusplus for long enough to forget how *bad* it is at discoverability.
Most languages that came after learned the lesson about using well-defined (if verbose) module naming to point to the origin of something, and if a client (module importer) wants to rename a module for convenience it may but if it doesn't the pattern is standardized. The best (read: my favorite) languages went ahead and glued module access to the filesystem organization so you can guess, easily, what file a given module loads; while you can sometimes play games with that, it gives you a starting point.
C++ is a billion years old and benefits from none of those learnings. The namespaces are completely disjoint from the filesystem. Literally any file included *from any file you include* can dump new symbols into your context. That was fine for, like, eight-file projects, but on modern thousand-file projects it's nightmare-time unless your team develops a rule for keeping sane, therefore every team does and every team's rules are different.
Good bloodly luck figuring out where a macro like TEST_CASE is defined if the project creators didn't document their thought process.