1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- #include "../Tests.hpp"
- #include "core/Buffer.hpp"
- #include "core/Test.hpp"
- static constexpr size_t SIZE_TYPES =
- sizeof(int) + sizeof(long) + sizeof(float) + sizeof(double);
- static void testAdd(bool light) {
- Core::Buffer buffer;
- size_t limit = light ? 1000 : 100'000;
- for(size_t i = 0; i < limit; i++) {
- buffer.add(5);
- buffer.add(5L);
- buffer.add(5.0f);
- buffer.add(5.0);
- }
- TEST(SIZE_TYPES * limit, buffer.getLength());
- buffer.clear();
- TEST(0, buffer.getLength());
- buffer.add(20l);
- TEST(sizeof(long), buffer.getLength());
- }
- static void testCopy() {
- Core::Buffer buffer;
- for(int i = 0; i < 10; i++) {
- buffer.add(5);
- buffer.add(5L);
- buffer.add(5.0f);
- buffer.add(5.0);
- }
- Core::Buffer buffer2 = buffer;
- Core::Buffer buffer3;
- buffer3 = buffer;
- if(TEST(SIZE_TYPES * 10, buffer.getLength()) &&
- TEST(SIZE_TYPES * 10, buffer2.getLength()) &&
- TEST(SIZE_TYPES * 10, buffer3.getLength())) {
- TEST_TRUE(
- memcmp(buffer.getData(), buffer2.getData(), SIZE_TYPES * 10) == 0);
- TEST_TRUE(
- memcmp(buffer.getData(), buffer3.getData(), SIZE_TYPES * 10) == 0);
- }
- }
- static void testMoveConstruct() {
- Core::Buffer buffer;
- for(int i = 0; i < 10; i++) {
- buffer.add(5);
- buffer.add(5L);
- buffer.add(5.0f);
- buffer.add(5.0);
- }
- Core::Buffer buffer2(Core::move(buffer));
- TEST(0, buffer.getLength());
- TEST(SIZE_TYPES * 10, buffer2.getLength());
- }
- static void testMove() {
- Core::Buffer buffer;
- for(int i = 0; i < 10; i++) {
- buffer.add(5);
- buffer.add(5L);
- buffer.add(5.0f);
- buffer.add(5.0);
- }
- Core::Buffer buffer2;
- buffer2 = Core::move(buffer);
- TEST(0, buffer.getLength());
- TEST(SIZE_TYPES * 10, buffer2.getLength());
- }
- void testBuffer(bool light) {
- testAdd(light);
- testCopy();
- testMoveConstruct();
- testMove();
- }
|