X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;ds=sidebyside;f=src%2Ftest.cpp;h=e1dbfa6b82c6aaf2a9804cda38459c5be06286f8;hb=d5ca3b721e049fc4f59718a55c932a06533d4b3c;hp=c7c97989fdc34d42d709e0374eb6304f0a6df800;hpb=497ff1ecd64c8908f988e15ca879824f2781e3fd;p=minetest.git diff --git a/src/test.cpp b/src/test.cpp index c7c97989f..e1dbfa6b8 100644 --- a/src/test.cpp +++ b/src/test.cpp @@ -1,6 +1,6 @@ /* Minetest -Copyright (C) 2010 celeron55, Perttu Ahola +Copyright (C) 2013 celeron55, Perttu Ahola This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by @@ -42,6 +42,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "util/serialize.h" #include "noise.h" // PseudoRandom used for random data for compression #include "clientserver.h" // LATEST_PROTOCOL_VERSION +#include /* Asserts that the exception occurs @@ -462,7 +463,7 @@ struct TestCompress: public TestBase < aa; + std::list aa; d.diff(c, aa); // Correct results - core::array results; + std::vector results; results.push_back(VoxelArea(v3s16(-2,-2,-3),v3s16(3,2,-3))); results.push_back(VoxelArea(v3s16(3,-2,-2),v3s16(3,2,2))); UASSERT(aa.size() == results.size()); infostream<<"Result of diff:"<::Iterator - i = aa.begin(); i != aa.end(); i++) + for(std::list::const_iterator + i = aa.begin(); i != aa.end(); ++i) { i->print(infostream); infostream<::iterator j = std::find(results.begin(), results.end(), *i); + UASSERT(j != results.end()); + results.erase(j); } @@ -582,7 +583,7 @@ struct TestVoxelAlgorithms: public TestBase } VoxelArea a(v3s16(0,0,0), v3s16(2,2,2)); { - core::map light_sources; + std::set light_sources; voxalgo::setLight(v, a, 0, ndef); voxalgo::SunlightPropagateResult res = voxalgo::propagateSunlight( v, a, true, light_sources, ndef); @@ -593,7 +594,7 @@ struct TestVoxelAlgorithms: public TestBase } v.setNodeNoRef(v3s16(0,0,0), MapNode(CONTENT_STONE)); { - core::map light_sources; + std::set light_sources; voxalgo::setLight(v, a, 0, ndef); voxalgo::SunlightPropagateResult res = voxalgo::propagateSunlight( v, a, true, light_sources, ndef); @@ -602,7 +603,7 @@ struct TestVoxelAlgorithms: public TestBase == LIGHT_SUN); } { - core::map light_sources; + std::set light_sources; voxalgo::setLight(v, a, 0, ndef); voxalgo::SunlightPropagateResult res = voxalgo::propagateSunlight( v, a, false, light_sources, ndef); @@ -612,7 +613,7 @@ struct TestVoxelAlgorithms: public TestBase } v.setNodeNoRef(v3s16(1,3,2), MapNode(CONTENT_STONE)); { - core::map light_sources; + std::set light_sources; voxalgo::setLight(v, a, 0, ndef); voxalgo::SunlightPropagateResult res = voxalgo::propagateSunlight( v, a, true, light_sources, ndef); @@ -621,7 +622,7 @@ struct TestVoxelAlgorithms: public TestBase == 0); } { - core::map light_sources; + std::set light_sources; voxalgo::setLight(v, a, 0, ndef); voxalgo::SunlightPropagateResult res = voxalgo::propagateSunlight( v, a, false, light_sources, ndef); @@ -635,14 +636,14 @@ struct TestVoxelAlgorithms: public TestBase v.setNodeNoRef(v3s16(1,-1,2), n); } { - core::map light_sources; + std::set light_sources; voxalgo::setLight(v, a, 0, ndef); voxalgo::SunlightPropagateResult res = voxalgo::propagateSunlight( v, a, true, light_sources, ndef); UASSERT(res.bottom_sunlight_valid == true); } { - core::map light_sources; + std::set light_sources; voxalgo::setLight(v, a, 0, ndef); voxalgo::SunlightPropagateResult res = voxalgo::propagateSunlight( v, a, false, light_sources, ndef); @@ -654,14 +655,14 @@ struct TestVoxelAlgorithms: public TestBase v.setNodeNoRef(v3s16(1,-1,2), n); } { - core::map light_sources; + std::set light_sources; voxalgo::setLight(v, a, 0, ndef); voxalgo::SunlightPropagateResult res = voxalgo::propagateSunlight( v, a, true, light_sources, ndef); UASSERT(res.bottom_sunlight_valid == false); } { - core::map light_sources; + std::set light_sources; voxalgo::setLight(v, a, 0, ndef); voxalgo::SunlightPropagateResult res = voxalgo::propagateSunlight( v, a, false, light_sources, ndef); @@ -669,7 +670,7 @@ struct TestVoxelAlgorithms: public TestBase } v.setNodeNoRef(v3s16(1,3,2), MapNode(CONTENT_IGNORE)); { - core::map light_sources; + std::set light_sources; voxalgo::setLight(v, a, 0, ndef); voxalgo::SunlightPropagateResult res = voxalgo::propagateSunlight( v, a, true, light_sources, ndef); @@ -697,16 +698,16 @@ struct TestVoxelAlgorithms: public TestBase v.setNode(v3s16(1,1,2), n); } { - core::map light_sources; - core::map unlight_from; + std::set light_sources; + std::map unlight_from; voxalgo::clearLightAndCollectSources(v, a, LIGHTBANK_DAY, ndef, light_sources, unlight_from); //v.print(dstream, ndef, VOXELPRINT_LIGHT_DAY); UASSERT(v.getNode(v3s16(0,1,1)).getLight(LIGHTBANK_DAY, ndef) == 0); - UASSERT(light_sources.find(v3s16(1,1,1)) != NULL); + UASSERT(light_sources.find(v3s16(1,1,1)) != light_sources.end()); UASSERT(light_sources.size() == 1); - UASSERT(unlight_from.find(v3s16(1,1,2)) != NULL); + UASSERT(unlight_from.find(v3s16(1,1,2)) != unlight_from.end()); UASSERT(unlight_from.size() == 1); } } @@ -1771,6 +1772,10 @@ void run_tests() TEST(TestConnection); dout_con<<"=== END RUNNING UNIT TESTS FOR CONNECTION ==="<