#if ENABLE_UNIT_TESTS #include "../../external/Catch/catch.hpp" #include #include #include "../Driver.h" using namespace mapfileparser; TEST_CASE("DriverReturnsCorrectValueWithIncorrectNumberOfArguments") { std::stringstream unused; REQUIRE(1 == Driver::Run(1, NULL, unused)); } TEST_CASE("DriverOutputsCorrectErrorWithIncorrectNumberOfArguments") { std::stringstream output; Driver::Run(1, NULL, output); REQUIRE("Usage: MapFileParser -format= mapFile <-stats|outputFile>\n" == output.str()); } TEST_CASE("DriverReturnsCorrectValueWithIncorrectMapFileFormat") { const NativeChar* arguments[4] = { NativeText("Unused"), NativeText("-format=Foo"), NativeText("Unused"), NativeText("Unused") }; std::stringstream unused; REQUIRE(1 == Driver::Run(4, arguments, unused)); } TEST_CASE("DriverOutputsCorrectErrorWithIncorrectMapFileFormat") { const NativeChar* arguments[4] = { NativeText("Unused"), NativeText("-format=Foo"), NativeText("Unused"), NativeText("Unused") }; std::stringstream output; Driver::Run(4, arguments, output); REQUIRE("Unknown map file format.\nUsage: MapFileParser -format= mapFile <-stats|outputFile>\n" == output.str()); } TEST_CASE("DriverReturnsCorrectValueWithBadInputFile") { const NativeChar* arguments[4] = { NativeText("Unused"), NativeText("-format=MSVC"), NativeText("NonexistentFile"), NativeText("Unused") }; std::stringstream unused; REQUIRE(1 == Driver::Run(4, arguments, unused)); } TEST_CASE("DriverOutputsCorrectErrorWithBadInputFile") { const NativeChar* arguments[4] = { NativeText("Unused"), NativeText("-format=MSVC"), NativeText("NonexistentFile"), NativeText("Unused") }; std::stringstream output; Driver::Run(4, arguments, output); REQUIRE("Map file NonexistentFile cannot be opened.\n" == output.str()); } #endif // ENABLE_UNIT_TESTS