// A hand-written miniature data root (four species catalogs, a dozen weapons, // a turret table and a tech tree) that exercises every design rule. Written // to a temp directory once and loaded through game::data::load_catalog so the // tests see exactly what the real loader produces. #pragma once #include #include #include "game/data/catalog.h" #include "game/design/design.h" #include "game/design/rules.h" const game::data::Catalog& mini_catalog(); const game::design::Ruleset& mini_rules(); // Design builders on the mini catalog. game::design::SectionUse use(std::string stem, std::vector weapons = {}, std::vector options = {}); game::design::Design armor(game::data::Species race = game::data::Species::Human); // the stock starting destroyer, gated std::vector error_rules(const game::design::Design& d); std::vector rules_of(const game::design::Design& d, game::design::Level level); std::string join(const std::vector& v);