TypedBufferTests.cpp 1001 B

1234567891011121314151617181920212223242526272829303132333435
  1. #include "tests/TypedBufferTests.h"
  2. #include "math/Vector.h"
  3. #include "tests/Test.h"
  4. #include "utils/TypedBuffer.h"
  5. static void testAdd(Test& test) {
  6. TypedBuffer<int> buffer;
  7. for(int i = 0; i < 100000; i++) {
  8. buffer.add(5);
  9. buffer.add(5L);
  10. buffer.add(5.0f);
  11. buffer.add(5.0);
  12. }
  13. test.checkEqual(400000, buffer.getLength(), "add increments length");
  14. test.checkEqual(static_cast<int>((sizeof(int)) * 400000),
  15. buffer.getByteLength(), "add increments byte length");
  16. }
  17. static void testCast(Test& test) {
  18. TypedBuffer<Vector3> buffer;
  19. buffer.add(Vector3(0.0f, 1.0f, 2.0f));
  20. const Vector3* v = buffer;
  21. test.checkEqual((*v)[0], 0.0f, "buffer contains element 1");
  22. test.checkEqual((*v)[1], 1.0f, "buffer contains element 2");
  23. test.checkEqual((*v)[2], 2.0f, "buffer contains element 3");
  24. }
  25. void TypedBufferTests::test() {
  26. Test test("TypedBuffer");
  27. testAdd(test);
  28. testCast(test);
  29. test.finalize();
  30. }