summaryrefslogtreecommitdiffstats
path: root/tests/ChunkData/Coordinates.cpp
diff options
context:
space:
mode:
authorTiger Wang <ziwei.tiger@outlook.com>2021-03-05 14:03:55 +0100
committerGitHub <noreply@github.com>2021-03-05 14:03:55 +0100
commit868cd94ee9a5a0638c014a4cc42224f01ff234c8 (patch)
treecd23dc866f77de5b0b3e89a5eafeeb2ef24ffbdd /tests/ChunkData/Coordinates.cpp
parentfixed the crash on generating in the SinglePiceStructuresGen (#5136) (diff)
downloadcuberite-868cd94ee9a5a0638c014a4cc42224f01ff234c8.tar
cuberite-868cd94ee9a5a0638c014a4cc42224f01ff234c8.tar.gz
cuberite-868cd94ee9a5a0638c014a4cc42224f01ff234c8.tar.bz2
cuberite-868cd94ee9a5a0638c014a4cc42224f01ff234c8.tar.lz
cuberite-868cd94ee9a5a0638c014a4cc42224f01ff234c8.tar.xz
cuberite-868cd94ee9a5a0638c014a4cc42224f01ff234c8.tar.zst
cuberite-868cd94ee9a5a0638c014a4cc42224f01ff234c8.zip
Diffstat (limited to 'tests/ChunkData/Coordinates.cpp')
-rw-r--r--tests/ChunkData/Coordinates.cpp83
1 files changed, 45 insertions, 38 deletions
diff --git a/tests/ChunkData/Coordinates.cpp b/tests/ChunkData/Coordinates.cpp
index 97c3f3a15..3e7949662 100644
--- a/tests/ChunkData/Coordinates.cpp
+++ b/tests/ChunkData/Coordinates.cpp
@@ -9,26 +9,8 @@
/** Performs the entire cChunkData coordinates test. */
static void test()
{
- class cMockAllocationPool
- : public cAllocationPool<cChunkData::sChunkSection>
{
- virtual cChunkData::sChunkSection * Allocate() override
- {
- return new cChunkData::sChunkSection();
- }
-
- virtual void Free(cChunkData::sChunkSection * a_Ptr) override
- {
- delete a_Ptr;
- }
-
- virtual bool DoIsEqual(const cAllocationPool<cChunkData::sChunkSection> &) const noexcept override
- {
- return false;
- }
- } Pool;
- {
- cChunkData buffer(Pool);
+ ChunkBlockData buffer;
// Empty chunks
buffer.SetBlock({ 0, 0, 0 }, 0xAB);
@@ -44,6 +26,26 @@ static void test()
TEST_EQUAL(buffer.GetBlock({ 0, 32, 0 }), 0x0);
TEST_EQUAL(buffer.GetMeta({ 0, 48, 0 }), 0x0);
+ // Out of range GetBlock
+ TEST_ASSERTS(
+ buffer.GetBlock({ -1, 0, 0 });
+ );
+ TEST_ASSERTS(
+ buffer.GetBlock({ 0, -1, 0 });
+ );
+ TEST_ASSERTS(
+ buffer.GetBlock({ 0, 0, -1 });
+ );
+ TEST_ASSERTS(
+ buffer.GetBlock({ 256, 0, 0 });
+ );
+ TEST_ASSERTS(
+ buffer.GetBlock({ 0, 256, 0 });
+ );
+ TEST_ASSERTS(
+ buffer.GetBlock({ 0, 0, 256 });
+ );
+
// Out of range SetBlock
TEST_ASSERTS(
buffer.SetBlock({ -1, 0, 0 }, 0)
@@ -63,6 +65,27 @@ static void test()
TEST_ASSERTS(
buffer.SetBlock({ 0, 0, 256 }, 0)
);
+
+ // Out of range GetMeta
+ TEST_ASSERTS(
+ buffer.GetMeta({ -1, 0, 0 });
+ );
+ TEST_ASSERTS(
+ buffer.GetMeta({ 0, -1, 0 });
+ );
+ TEST_ASSERTS(
+ buffer.GetMeta({ 0, 0, -1 });
+ );
+ TEST_ASSERTS(
+ buffer.GetMeta({ 256, 0, 0 });
+ );
+ TEST_ASSERTS(
+ buffer.GetMeta({ 0, 256, 0 });
+ );
+ TEST_ASSERTS(
+ buffer.GetMeta({ 0, 0, 256 });
+ );
+
// Out of range SetMeta
TEST_ASSERTS(
buffer.SetMeta({ -1, 0, 0 }, 0)
@@ -82,26 +105,10 @@ static void test()
TEST_ASSERTS(
buffer.SetMeta({ 0, 0, 256 }, 0)
);
-
- // Reading out of range blocks should return air
- TEST_EQUAL(buffer.GetBlock({ -1, 0, 0 }), 0);
- TEST_EQUAL(buffer.GetBlock({ 0, -1, 0 }), 0);
- TEST_EQUAL(buffer.GetBlock({ 0, 0, -1 }), 0);
- TEST_EQUAL(buffer.GetBlock({ 256, 0, 0 }), 0);
- TEST_EQUAL(buffer.GetBlock({ 0, 256, 0 }), 0);
- TEST_EQUAL(buffer.GetBlock({ 0, 0, 256 }), 0);
-
- // Reading out of range metas should return 0
- TEST_EQUAL(buffer.GetMeta({ -1, 0, 0 }), 0);
- TEST_EQUAL(buffer.GetMeta({ 0, -1, 0 }), 0);
- TEST_EQUAL(buffer.GetMeta({ 0, 0, -1 }), 0);
- TEST_EQUAL(buffer.GetMeta({ 256, 0, 0 }), 0);
- TEST_EQUAL(buffer.GetMeta({ 0, 256, 0 }), 0);
- TEST_EQUAL(buffer.GetMeta({ 0, 0, 256 }), 0);
}
{
- cChunkData buffer(Pool);
+ ChunkBlockData buffer;
// Zero's
buffer.SetBlock({ 0, 0, 0 }, 0x0);
@@ -118,9 +125,9 @@ static void test()
{
// Operator =
- cChunkData buffer(Pool);
+ ChunkBlockData buffer;
buffer.SetBlock({ 0, 0, 0 }, 0x42);
- cChunkData copy(Pool);
+ ChunkBlockData copy;
copy = std::move(buffer);
TEST_EQUAL(copy.GetBlock({ 0, 0, 0 }), 0x42);
}