#include "tests/TypedBufferTests.h" #include "math/Vector.h" #include "tests/Test.h" #include "utils/TypedBuffer.h" static void testAdd(Test& test) { TypedBuffer buffer; for(int i = 0; i < 100000; i++) { buffer.add(5); buffer.add(5L); buffer.add(5.0f); buffer.add(5.0); } test.checkEqual(400000, buffer.getLength(), "add increments length"); test.checkEqual(static_cast((sizeof(int)) * 400000), buffer.getByteLength(), "add increments byte length"); } static void testCast(Test& test) { TypedBuffer buffer; buffer.add(Vector3(0.0f, 1.0f, 2.0f)); const Vector3* v = buffer; test.checkEqual((*v)[0], 0.0f, "buffer contains element 1"); test.checkEqual((*v)[1], 1.0f, "buffer contains element 2"); test.checkEqual((*v)[2], 2.0f, "buffer contains element 3"); } void TypedBufferTests::test() { Test test("TypedBuffer"); testAdd(test); testCast(test); test.finalize(); }