]> git.localhorst.tv Git - blobs.git/blobdiff - tst/app/AssetTest.cpp
load universe from file
[blobs.git] / tst / app / AssetTest.cpp
index d6b5a0e8b9899dc59da270c77c32f20fa5ce8472..2bd132fb9efa5d923f5f7bab6f3c77f0f4e0ad41 100644 (file)
@@ -2,6 +2,7 @@
 
 #include "app/Assets.hpp"
 #include "app/init.hpp"
+#include "world/Simulation.hpp"
 
 CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(blobs::app::test::AssetTest, "headed");
 
@@ -17,7 +18,7 @@ void AssetTest::tearDown() {
 }
 
 
-void AssetTest::testLoadAll() {
+void AssetTest::testLoadBasic() {
        Init init(false, 1);
        Assets assets;
 
@@ -70,6 +71,27 @@ void AssetTest::testLoadAll() {
        );
 }
 
+void AssetTest::testLoadUniverse() {
+       Init init(false, 1);
+       Assets assets;
+
+       world::Simulation sim(assets);
+       assets.LoadUniverse("universe", sim);
+
+       CPPUNIT_ASSERT_EQUAL_MESSAGE(
+               "wrong number of suns in default universe",
+               std::set<world::Sun *>::size_type(1), sim.Suns().size()
+       );
+       CPPUNIT_ASSERT_EQUAL_MESSAGE(
+               "wrong number of planets in default universe",
+               std::set<world::Planet *>::size_type(3), sim.Planets().size()
+       );
+       CPPUNIT_ASSERT_NO_THROW_MESSAGE(
+               "spawn planet does not exist",
+               sim.PlanetByName("Planet")
+       );
+}
+
 }
 }
 }