diff options
author | Tycho <work.tycho+git@gmail.com> | 2014-05-10 16:30:48 +0200 |
---|---|---|
committer | Tycho <work.tycho+git@gmail.com> | 2014-05-10 16:30:48 +0200 |
commit | 0940747f3b5dea69bf0d32cb4657b69f3a03d0dd (patch) | |
tree | 7b970c9b9f90ee7e8aa692339b720140b8f461b2 /tests | |
parent | Fixed bug in setting metas (diff) | |
download | cuberite-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')
-rw-r--r-- | tests/ChunkBuffer/Coordinates.cpp | 95 | ||||
-rw-r--r-- | tests/TestGlobals.h | 11 |
2 files changed, 100 insertions, 6 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; } diff --git a/tests/TestGlobals.h b/tests/TestGlobals.h index cb8fc9376..bb25bd20a 100644 --- a/tests/TestGlobals.h +++ b/tests/TestGlobals.h @@ -1,8 +1,8 @@ -#include <cassert> #include <cstdarg> #include <cstdio> +#include <cstdlib> // Compiler-dependent stuff: @@ -110,10 +110,13 @@ typedef unsigned short UInt16; typedef unsigned char Byte; +class cAssertFailure +{ +}; - -#define ASSERT(x) assert(x) - +#define ASSERT(x) do { if (!(x)) { throw cAssertFailure();} } while (0) +#define testassert(x) do { if(!(x)) { exit(1); } } while (0) +#define CheckAsserts(x) do { try {x} catch (cAssertFailure) { break; } exit(1); } while (0) #ifndef TOLUA_TEMPLATE_BIND #define TOLUA_TEMPLATE_BIND(x) |