|
|
|
@ -49,15 +49,18 @@ TEST_CASE("RitualEngine basic tests", "[rituals]") { |
|
|
|
|
ritual.dump(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
TEST_CASE("confirm that cycles are avoided/detected", "[rituals]") { |
|
|
|
|
TEST_CASE("rituals can be finalized for the end result", "[rituals-finalize]") { |
|
|
|
|
RitualEngine re("assets/rituals.json"); |
|
|
|
|
auto ritual = re.start(); |
|
|
|
|
auto plan = re.start(); |
|
|
|
|
|
|
|
|
|
re.set_state(ritual, "has_magick", true); |
|
|
|
|
re.set_state(ritual, "cursed_item", true); |
|
|
|
|
re.set_state(ritual, "shiny_bauble", true); |
|
|
|
|
re.plan(ritual); |
|
|
|
|
re.set_state(plan, "has_magick", true); |
|
|
|
|
re.set_state(plan, "cursed_item", true); |
|
|
|
|
re.set_state(plan, "shiny_bauble", true); |
|
|
|
|
re.plan(plan); |
|
|
|
|
|
|
|
|
|
fmt::println("\n\n------------ CYCLES AVOIDED"); |
|
|
|
|
ritual.dump(); |
|
|
|
|
plan.dump(); |
|
|
|
|
|
|
|
|
|
auto action = re.finalize(plan); |
|
|
|
|
(void)action; |
|
|
|
|
} |
|
|
|
|