summaryrefslogtreecommitdiffstats
path: root/tests/ChunkBuffer
diff options
context:
space:
mode:
authorTycho <work.tycho+git@gmail.com>2014-05-10 16:30:48 +0200
committerTycho <work.tycho+git@gmail.com>2014-05-10 16:30:48 +0200
commit0940747f3b5dea69bf0d32cb4657b69f3a03d0dd (patch)
tree7b970c9b9f90ee7e8aa692339b720140b8f461b2 /tests/ChunkBuffer
parentFixed bug in setting metas (diff)
downloadcuberite-0940747f3b5dea69bf0d32cb4657b69f3a03d0dd.tar
cuberite-0940747f3b5dea69bf0d32cb4657b69f3a03d0dd.tar.gz
cuberite-0940747f3b5dea69bf0d32cb4657b69f3a03d0dd.tar.bz2
cuberite-0940747f3b5dea69bf0d32cb4657b69f3a03d0dd.tar.lz
cuberite-0940747f3b5dea69bf0d32cb4657b69f3a03d0dd.tar.xz
cuberite-0940747f3b5dea69bf0d32cb4657b69f3a03d0dd.tar.zst
cuberite-0940747f3b5dea69bf0d32cb4657b69f3a03d0dd.zip
Diffstat (limited to 'tests/ChunkBuffer')
-rw-r--r--tests/ChunkBuffer/Coordinates.cpp95
1 files changed, 93 insertions, 2 deletions
diff --git a/tests/ChunkBuffer/Coordinates.cpp b/tests/ChunkBuffer/Coordinates.cpp
index d61eda7ad..a6a8aa18f 100644
--- a/tests/ChunkBuffer/Coordinates.cpp
+++ b/tests/ChunkBuffer/Coordinates.cpp
@@ -7,9 +7,100 @@
int main(int argc, char** argv)
{
cChunkBuffer buffer;
+
+ // Empty chunks
buffer.SetBlock(0,0,0, 0xAB);
- assert(buffer.GetBlock(0,0,0) == 0xAB);
+ testassert(buffer.GetBlock(0,0,0) == 0xAB);
buffer.SetMeta(0,16,0, 0xC);
- assert(buffer.GetMeta(0,16,0) == 0xC);
+ testassert(buffer.GetMeta(0,16,0) == 0xC);
+
+ // loaded but not written segments
+ testassert(buffer.GetBlock(1,0,0) == 0x0);
+ testassert(buffer.GetMeta(1,16,0) == 0x0);
+
+ // Notloaded segments
+ testassert(buffer.GetBlock(0,32,0) == 0x0);
+ testassert(buffer.GetMeta(0,48,0) == 0x0);
+
+ // Out of Range
+ CheckAsserts(
+ buffer.SetBlock(-1, 0, 0, 0);
+ );
+ CheckAsserts(
+ buffer.SetBlock(0, -1, 0, 0);
+ );
+ CheckAsserts(
+ buffer.SetBlock(0, 0, -1, 0);
+ );
+ CheckAsserts(
+ buffer.SetBlock(256, 0, 0, 0);
+ );
+ CheckAsserts(
+ buffer.SetBlock(0, 256, 0, 0);
+ );
+ CheckAsserts(
+ buffer.SetBlock(0, 0, 256, 0);
+ );
+
+ // Out of Range
+ CheckAsserts(
+ buffer.GetBlock(-1, 0, 0);
+ );
+ CheckAsserts(
+ buffer.GetBlock(0, -1, 0);
+ );
+ CheckAsserts(
+ buffer.GetBlock(0, 0, -1);
+ );
+ CheckAsserts(
+ buffer.GetBlock(256, 0, 0);
+ );
+ CheckAsserts(
+ buffer.GetBlock(0, 256, 0);
+ );
+ CheckAsserts(
+ buffer.GetBlock(0, 0, 256);
+ );
+
+ // Out of Range
+ CheckAsserts(
+ buffer.SetMeta(-1, 0, 0, 0);
+ );
+ CheckAsserts(
+ buffer.SetMeta(0, -1, 0, 0);
+ );
+ CheckAsserts(
+ buffer.SetMeta(0, 0, -1, 0);
+ );
+ CheckAsserts(
+ buffer.SetMeta(256, 0, 0, 0);
+ );
+ CheckAsserts(
+ buffer.SetMeta(0, 256, 0, 0);
+ );
+ CheckAsserts(
+ buffer.SetMeta(0, 0, 256, 0);
+ );
+
+ // Out of Range
+ CheckAsserts(
+ buffer.GetMeta(-1, 0, 0);
+ );
+ CheckAsserts(
+ buffer.GetMeta(0, -1, 0);
+ );
+ CheckAsserts(
+ buffer.GetMeta(0, 0, -1);
+ );
+ CheckAsserts(
+ buffer.GetMeta(256, 0, 0);
+ );
+ CheckAsserts(
+ buffer.GetMeta(0, 256, 0);
+ );
+ CheckAsserts(
+ buffer.GetMeta(0, 0, 256);
+ );
+
return 0;
}