diff options
author | Tycho <work.tycho+git@gmail.com> | 2014-05-10 17:15:45 +0200 |
---|---|---|
committer | Tycho <work.tycho+git@gmail.com> | 2014-05-10 17:15:45 +0200 |
commit | ba25f6b5244f37a3b79a496e8bc65447fc9bd2e4 (patch) | |
tree | a9b535aaabc43b5fec3400752d0d77d92d3a4873 /tests/ChunkBuffer | |
parent | Added new test (diff) | |
download | cuberite-ba25f6b5244f37a3b79a496e8bc65447fc9bd2e4.tar cuberite-ba25f6b5244f37a3b79a496e8bc65447fc9bd2e4.tar.gz cuberite-ba25f6b5244f37a3b79a496e8bc65447fc9bd2e4.tar.bz2 cuberite-ba25f6b5244f37a3b79a496e8bc65447fc9bd2e4.tar.lz cuberite-ba25f6b5244f37a3b79a496e8bc65447fc9bd2e4.tar.xz cuberite-ba25f6b5244f37a3b79a496e8bc65447fc9bd2e4.tar.zst cuberite-ba25f6b5244f37a3b79a496e8bc65447fc9bd2e4.zip |
Diffstat (limited to '')
-rw-r--r-- | tests/ChunkBuffer/Copies.cpp | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/tests/ChunkBuffer/Copies.cpp b/tests/ChunkBuffer/Copies.cpp new file mode 100644 index 000000000..2f5d48e6a --- /dev/null +++ b/tests/ChunkBuffer/Copies.cpp @@ -0,0 +1,53 @@ + +#include "TestGlobals.h" +#include "ChunkBuffer.h" + + + +int main(int argc, char** argv) +{ + cChunkBuffer buffer; + + buffer.SetBlock(3,1,4,0xDE); + buffer.SetMeta(3,1,4,0xA); + + cChunkBuffer copy = buffer.Copy(); + testassert(copy.GetBlock(3,1,4) == 0xDE); + testassert(copy.GetMeta(3,1,4) == 0xA); + + BLOCKTYPE * SrcBlockBuffer = new BLOCKTYPE[256 * 256 * 256]; + for (int i = 0; i < 256* 256 * 256; i += 4) + { + SrcBlockBuffer[i+0] = 0xDE; + SrcBlockBuffer[i+1] = 0xAD; + SrcBlockBuffer[i+2] = 0xBE; + SrcBlockBuffer[i+3] = 0xEF; + } + + buffer.SetBlocks(SrcBlockBuffer); + BLOCKTYPE * DstBlockBuffer = new BLOCKTYPE[256 * 256 * 256]; + buffer.CopyBlocks(DstBlockBuffer); + testassert(memcmp(SrcBlockBuffer, DstBlockBuffer, (256 * 256 * 256) -1) == 0); + delete SrcBlockBuffer; + delete DstBlockBuffer; + SrcBlockBuffer = NULL; + DstBlockBuffer = NULL; + + NIBBLETYPE * SrcNibbleBuffer = new NIBBLETYPE[256 * 256 * 256/2]; + for (int i = 0; i < 256* 256 * 256 / 2; i += 4) + { + SrcNibbleBuffer[i+0] = 0xEF; + SrcNibbleBuffer[i+1] = 0xDE; + SrcNibbleBuffer[i+2] = 0xAD; + SrcNibbleBuffer[i+3] = 0xBE; + } + + buffer.SetMeta(SrcNibbleBuffer); + NIBBLETYPE * DstNibbleBuffer = new NIBBLETYPE[256 * 256 * 256/ 2]; + buffer.CopyMeta(DstNibbleBuffer); + testassert(memcmp(SrcNibbleBuffer, DstNibbleBuffer, (256 * 256 * 256 /2) -1) == 0); + delete SrcNibbleBuffer; + delete DstNibbleBuffer; + SrcNibbleBuffer = NULL; + DstNibbleBuffer = NULL; +} |