From 3b5450676b61efd2ee8eaab09ee95eba34a39870 Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Thu, 18 Apr 2024 19:53:33 +0100 Subject: Define some initial surface types --- res/surfaces.xml | 7 +++++++ test/test-assetFactory.cpp | 15 +++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 res/surfaces.xml diff --git a/res/surfaces.xml b/res/surfaces.xml new file mode 100644 index 0000000..459eb9c --- /dev/null +++ b/res/surfaces.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/test/test-assetFactory.cpp b/test/test-assetFactory.cpp index 8341fbf..6061723 100644 --- a/test/test-assetFactory.cpp +++ b/test/test-assetFactory.cpp @@ -12,6 +12,7 @@ #include "game/scenary/illuminator.h" #include "game/scenary/light.h" #include "game/scenary/plant.h" +#include "game/surface.h" #include "game/vehicles/railVehicle.h" #include "game/vehicles/railVehicleClass.h" #include "gfx/gl/sceneRenderer.h" @@ -80,6 +81,20 @@ private: BOOST_FIXTURE_TEST_SUITE(m, FactoryFixture); +BOOST_AUTO_TEST_CASE(surfaces, *boost::unit_test::timeout(5)) +{ + auto mf = AssetFactory::loadXML(RESDIR "/surfaces.xml"); + BOOST_REQUIRE(mf); + BOOST_CHECK_EQUAL(4, mf->assets.size()); + auto gravelAsset = mf->assets.at("terrain.surface.gravel"); + BOOST_REQUIRE(gravelAsset); + auto gravel = std::dynamic_pointer_cast(gravelAsset); + BOOST_REQUIRE(gravel); + BOOST_REQUIRE_EQUAL(gravel->name, "Gravel"); + BOOST_REQUIRE_EQUAL(gravel->colorBias, RGB {.9F}); + BOOST_REQUIRE_EQUAL(gravel->quality, 1.F); +} + BOOST_AUTO_TEST_CASE(brush47xml, *boost::unit_test::timeout(5)) { auto mf = AssetFactory::loadXML(RESDIR "/brush47.xml"); -- cgit v1.2.3