33// SPDX-License-Identifier: GPL-2.0-or-later
44
55#include " GameWithLuaAccess.h"
6+ #include " Loader.h"
67#include " PointOutput.h"
78#include " RttrForeachPt.h"
89#include " buildings/noBuildingSite.h"
@@ -557,53 +558,62 @@ BOOST_AUTO_TEST_CASE(World)
557558{
558559 LogAccessor logAcc;
559560 initWorld ();
561+ LOADER.LoadDummyMapFiles ();
560562 executeLua (" world = rttr:GetWorld()" );
561563
562564 const MapPoint envPt (15 , 12 );
563565 const MapPoint hqPos (world.GetPlayer (1 ).GetHQPos ());
564566 executeLua (boost::format (" world:AddEnvObject(%1%, %2%, 500)" ) % envPt.x % envPt.y );
565567 const noEnvObject* obj = world.GetSpecObj <noEnvObject>(envPt);
566568 BOOST_TEST_REQUIRE (obj);
567- BOOST_TEST_REQUIRE (obj->GetItemID () == 500u );
568- BOOST_TEST_REQUIRE (obj->GetItemFile () == 0xFFFFu );
569+ BOOST_TEST (obj->GetItemID () == 500u );
570+ BOOST_TEST (obj->GetItemFile () == 0xFFFFu );
569571 // Replace and test wrap around (envPt2==envPt1)
570572 const Position envPt2 (envPt.x + world.GetWidth (), envPt.y - world.GetHeight ());
571573 BOOST_TEST_REQUIRE (world.MakeMapPoint (envPt2) == envPt);
572574 executeLua (boost::format (" world:AddEnvObject(%1%, %2%, 1, 2)" ) % envPt2.x % envPt2.y );
573575 obj = world.GetSpecObj <noEnvObject>(envPt);
574576 BOOST_TEST_REQUIRE (obj);
575- BOOST_TEST_REQUIRE (obj->GetItemID () == 1u );
576- BOOST_TEST_REQUIRE (obj->GetItemFile () == 2u );
577+ BOOST_TEST (obj->GetItemID () == 1u );
578+ BOOST_TEST (obj->GetItemFile () == 2u );
577579
578580 // ID only
579581 const MapPoint envPt3 (envPt.x + 5 , envPt.y );
580582 executeLua (boost::format (" world:AddStaticObject(%1%, %2%, 501)" ) % envPt3.x % envPt3.y );
581583 const noStaticObject* obj2 = world.GetSpecObj <noStaticObject>(envPt3);
582584 BOOST_TEST_REQUIRE (obj2);
583- BOOST_TEST_REQUIRE (obj2->GetGOT () == GO_Type::Staticobject);
584- BOOST_TEST_REQUIRE (obj2->GetItemID () == 501u );
585- BOOST_TEST_REQUIRE (obj2->GetItemFile () == 0xFFFFu );
586- BOOST_TEST_REQUIRE (obj2->GetSize () == 1u );
585+ BOOST_TEST (obj2->GetGOT () == GO_Type::Staticobject);
586+ BOOST_TEST (obj2->GetItemID () == 501u );
587+ BOOST_TEST (obj2->GetItemFile () == 0xFFFFu );
588+ BOOST_TEST (obj2->GetSize () == 1u );
587589 // ID and File (replace env obj)
588590 executeLua (boost::format (" world:AddStaticObject(%1%, %2%, 5, 3)" ) % envPt2.x % envPt2.y );
589591 obj2 = world.GetSpecObj <noStaticObject>(envPt);
590592 BOOST_TEST_REQUIRE (obj2);
591- BOOST_TEST_REQUIRE (obj2->GetGOT () == GO_Type::Staticobject);
592- BOOST_TEST_REQUIRE (obj2->GetItemID () == 5u );
593- BOOST_TEST_REQUIRE (obj2->GetItemFile () == 3u );
594- BOOST_TEST_REQUIRE (obj2->GetSize () == 1u );
593+ BOOST_TEST (obj2->GetGOT () == GO_Type::Staticobject);
594+ BOOST_TEST (obj2->GetItemID () == 5u );
595+ BOOST_TEST (obj2->GetItemFile () == 3u );
596+ BOOST_TEST (obj2->GetSize () == 1u );
595597 // ID, File and Size (replace static obj)
596598 executeLua (boost::format (" world:AddStaticObject(%1%, %2%, 5, 3, 2)" ) % envPt2.x % envPt2.y );
597599 obj2 = world.GetSpecObj <noStaticObject>(envPt);
598600 BOOST_TEST_REQUIRE (obj2);
599- BOOST_TEST_REQUIRE (obj2->GetGOT () == GO_Type::Staticobject);
600- BOOST_TEST_REQUIRE (obj2->GetItemID () == 5u );
601- BOOST_TEST_REQUIRE (obj2->GetItemFile () == 3u );
602- BOOST_TEST_REQUIRE (obj2->GetSize () == 2u );
601+ BOOST_TEST (obj2->GetGOT () == GO_Type::Staticobject);
602+ BOOST_TEST (obj2->GetItemID () == 5u );
603+ BOOST_TEST (obj2->GetItemFile () == 3u );
604+ BOOST_TEST (obj2->GetSize () == 2u );
603605 // Invalid Size
604- BOOST_REQUIRE_THROW (executeLua (boost::format (" world:AddStaticObject(%1%, %2%, 5, 3, 3)" ) % envPt2.x % envPt2.y ),
605- std::runtime_error);
606+ BOOST_CHECK_THROW (executeLua (boost::format (" world:AddStaticObject(%1%, %2%, 5, 3, 3)" ) % envPt2.x % envPt2.y ),
607+ std::runtime_error);
606608 RTTR_REQUIRE_LOG_CONTAINS (" Invalid size" , false );
609+ // Invalid File
610+ BOOST_CHECK_THROW (executeLua (boost::format (" world:AddEnvObject(%1%, %2%, 5, 7)" ) % envPt2.x % envPt2.y ),
611+ std::runtime_error);
612+ RTTR_REQUIRE_LOG_CONTAINS (" Invalid object " , false );
613+ // Invalid Id
614+ BOOST_CHECK_THROW (executeLua (boost::format (" world:AddEnvObject(%1%, %2%, 50000)" ) % envPt2.x % envPt2.y ),
615+ std::runtime_error);
616+ RTTR_REQUIRE_LOG_CONTAINS (" Invalid object " , false );
607617
608618 // Can't replace buildings
609619 executeLua (boost::format (" world:AddEnvObject(%1%, %2%, 1, 2)" ) % hqPos.x % hqPos.y );
@@ -614,7 +624,7 @@ BOOST_AUTO_TEST_CASE(World)
614624 executeLua (boost::format (" world:AddEnvObject(%1%, %2%, 5, 3)" ) % envPt2.x % envPt2.y );
615625 obj2 = world.GetSpecObj <noStaticObject>(envPt);
616626 BOOST_TEST_REQUIRE (obj2);
617- BOOST_TEST_REQUIRE (obj2->GetGOT () == GO_Type::Envobject);
627+ BOOST_TEST (obj2->GetGOT () == GO_Type::Envobject);
618628
619629 MapPoint animalPos (20 , 12 );
620630 const auto figs = world.GetFigures (animalPos);
@@ -623,12 +633,12 @@ BOOST_AUTO_TEST_CASE(World)
623633 BOOST_TEST_REQUIRE (figs.size () == 1u );
624634 const noAnimal* animal = dynamic_cast <noAnimal*>(&*figs.begin ());
625635 BOOST_TEST_REQUIRE (animal);
626- BOOST_TEST_REQUIRE (animal->GetSpecies () == Species::Deer); // -V522
636+ BOOST_TEST (animal->GetSpecies () == Species::Deer); // -V522
627637 executeLua (boost::format (" world:AddAnimal(%1%, %2%, SPEC_FOX)" ) % animalPos.x % animalPos.y );
628638 BOOST_TEST_REQUIRE (figs.size () == 2u );
629639 animal = dynamic_cast <noAnimal*>(&*(++figs.begin ()));
630640 BOOST_TEST_REQUIRE (animal);
631- BOOST_TEST_REQUIRE (animal->GetSpecies () == Species::Fox);
641+ BOOST_TEST (animal->GetSpecies () == Species::Fox);
632642}
633643
634644BOOST_AUTO_TEST_CASE (WorldEvents)
0 commit comments