From d0d141ef990ec345a9ea1a0c811cdc39b6e2e60b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20L=C3=BChne?= Date: Mon, 19 Jun 2017 00:40:38 +0200 Subject: [PATCH] Replicated test cases with missing or mismatched domains in PDDL parsing library. --- lib/pddlparse/tests/TestParser.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/lib/pddlparse/tests/TestParser.cpp b/lib/pddlparse/tests/TestParser.cpp index e4b32eb..a24bf6d 100644 --- a/lib/pddlparse/tests/TestParser.cpp +++ b/lib/pddlparse/tests/TestParser.cpp @@ -8,6 +8,7 @@ namespace fs = std::experimental::filesystem; const pddl::Context::WarningCallback ignoreWarnings = [](const auto &, const auto &warning){std::cout << warning << std::endl;}; +const auto pddlInstanceBasePath = fs::path("data") / "pddl-instances"; //////////////////////////////////////////////////////////////////////////////////////////////////// @@ -52,4 +53,20 @@ TEST_CASE("[PDDL parser] Check past issues", "[PDDL parser]") context.tokenizer.read(domainFile); CHECK_NOTHROW(pddl::parseDescription(context)); } + + SECTION("missing domains are detected") + { + const auto instanceFile = fs::path("data") / "pddl-instances" / "ipc-2000" / "domains" / "blocks-strips-typed" / "instances" / "instance-1.pddl"; + context.tokenizer.read(instanceFile); + CHECK_THROWS(pddl::parseDescription(context)); + } + + SECTION("mismatched domains are detected") + { + const auto domainFile = fs::path("data") / "pddl-instances" / "ipc-2000" / "domains" / "blocks-strips-typed" / "domain.pddl"; + const auto instanceFile = fs::path("data") / "pddl-instances" / "ipc-2000" / "domains" / "freecell-strips-typed" / "instances" / "instance-1.pddl"; + context.tokenizer.read(domainFile); + context.tokenizer.read(instanceFile); + CHECK_THROWS(pddl::parseDescription(context)); + } }