1
0
mirror of https://github.com/rwengine/openrw.git synced 2024-09-15 06:52:34 +02:00

Split object tests into individual cases

The object data test case contained multiple tests. Split them to increase test granularity and to provide more descriptive unit names.
This commit is contained in:
Daniel Evans 2018-08-05 16:29:47 +01:00
parent 4baeeb9ae8
commit 989762a66e

View File

@ -6,52 +6,48 @@
BOOST_AUTO_TEST_SUITE(ObjectDataTests)
#if RW_TEST_WITH_DATA
BOOST_AUTO_TEST_CASE(test_object_data) {
{
LoaderIDE l;
BOOST_AUTO_TEST_CASE(parses_basic_instance) {
LoaderIDE l;
l.load(Global::get().getGamePath() + "/data/maps/generic.ide", {});
l.load(Global::get().getGamePath() + "/data/maps/generic.ide", {});
BOOST_ASSERT(l.objects.find(1100) != l.objects.end());
BOOST_ASSERT(l.objects.find(1100) != l.objects.end());
auto obj = l.objects[1100].get();
auto obj = l.objects[1100].get();
auto def = dynamic_cast<SimpleModelInfo*>(obj);
auto def = dynamic_cast<SimpleModelInfo *>(obj);
BOOST_ASSERT(def->type() == ModelDataType::SimpleInfo);
BOOST_ASSERT(def->type() == ModelDataType::SimpleInfo);
BOOST_CHECK_EQUAL(def->name, "rd_Corner1");
BOOST_CHECK_EQUAL(def->textureslot, "generic");
BOOST_CHECK_EQUAL(def->getNumAtomics(), 1);
BOOST_CHECK_EQUAL(def->getLodDistance(0), 220);
BOOST_CHECK_EQUAL(def->flags, 0);
}
{
LoaderIDE l;
l.load(Global::get().getGamePath() + "/data/default.ide", {});
BOOST_ASSERT(l.objects.find(90) != l.objects.end());
auto obj = l.objects[90].get();
auto def = dynamic_cast<VehicleModelInfo*>(obj);
BOOST_ASSERT(def->type() == ModelDataType::VehicleInfo);
BOOST_CHECK_EQUAL(def->name, "landstal");
BOOST_CHECK_EQUAL(def->textureslot, "landstal");
BOOST_CHECK_EQUAL(def->vehicletype_, VehicleModelInfo::CAR);
BOOST_CHECK_EQUAL(def->handling_, "LANDSTAL");
BOOST_CHECK_EQUAL(def->vehiclename_, "LANDSTK");
BOOST_CHECK_EQUAL(def->vehicleclass_, VehicleModelInfo::RICHFAMILY);
BOOST_CHECK_EQUAL(def->frequency_, 10);
BOOST_CHECK_EQUAL(def->wheelmodel_, 164);
BOOST_CHECK_CLOSE(def->wheelscale_, 0.8f, 0.01f);
}
BOOST_CHECK_EQUAL(def->name, "rd_Corner1");
BOOST_CHECK_EQUAL(def->textureslot, "generic");
BOOST_CHECK_EQUAL(def->getNumAtomics(), 1);
BOOST_CHECK_EQUAL(def->getLodDistance(0), 220);
BOOST_CHECK_EQUAL(def->flags, 0);
}
BOOST_AUTO_TEST_CASE(test_gamedata_data) {
BOOST_AUTO_TEST_CASE(parses_vehicle) {
LoaderIDE l;
l.load(Global::get().getGamePath() + "/data/default.ide", {});
BOOST_ASSERT(l.objects.find(90) != l.objects.end());
auto obj = l.objects[90].get();
auto def = dynamic_cast<VehicleModelInfo*>(obj);
BOOST_ASSERT(def->type() == ModelDataType::VehicleInfo);
BOOST_CHECK_EQUAL(def->name, "landstal");
BOOST_CHECK_EQUAL(def->textureslot, "landstal");
BOOST_CHECK_EQUAL(def->vehicletype_, VehicleModelInfo::CAR);
BOOST_CHECK_EQUAL(def->handling_, "LANDSTAL");
BOOST_CHECK_EQUAL(def->vehiclename_, "LANDSTK");
BOOST_CHECK_EQUAL(def->vehicleclass_, VehicleModelInfo::RICHFAMILY);
BOOST_CHECK_EQUAL(def->frequency_, 10);
BOOST_CHECK_EQUAL(def->wheelmodel_, 164);
BOOST_CHECK_CLOSE(def->wheelscale_, 0.8f, 0.01f);
}
#endif