| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- module Tests;
- import Core.Buffer;
- import Core.Test;
- import Core.Types;
- import Core.Meta;
- import Core.Std;
- 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);
- }
- Core::test(SIZE_TYPES * limit, buffer.getLength());
- buffer.clear();
- Core::test(0, buffer.getLength());
- buffer.add(20l);
- Core::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(Core::test(SIZE_TYPES * 10, buffer.getLength()) &&
- Core::test(SIZE_TYPES * 10, buffer2.getLength()) &&
- Core::test(SIZE_TYPES * 10, buffer3.getLength())) {
- Core::testTrue(
- memcmp(buffer.getData(), buffer2.getData(), SIZE_TYPES * 10) == 0);
- Core::testTrue(
- 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));
- Core::test(0, buffer.getLength());
- Core::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);
- Core::test(0, buffer.getLength());
- Core::test(SIZE_TYPES * 10, buffer2.getLength());
- }
- void testBuffer(bool light) {
- testAdd(light);
- testCopy();
- testMoveConstruct();
- testMove();
- }
|