#pragma once #include "Utils.hpp" #include "Allocators.hpp" class TestClass { tp::ualni val2 = 0; tp::ualni val1; public: explicit TestClass(tp::ualni val) : val1(val) {} template void write(Saver& file) const { file.write(val1); } template void read(Loader& file) { file.read(val1); } [[nodiscard]] bool operator==(const TestClass& in) const { return in.val1 == val1; } [[nodiscard]] tp::ualni getVal() const { return val1; } void setVal(tp::ualni val) { val1 = val; } }; class TestFile { tp::ualni mem[1024] = { 0 }; tp::ualni address = 0; public: TestFile() = default; template void write(const Type& val) { val.write(*this); } template<> void write(const tp::ualni& val) { mem[address] = val; address++; } void setAddress(tp::ualni addr) { address = addr; } template void read(Type& val) { val.read(*this); } template<> void read(tp::ualni& val) { val = mem[address]; address++; } }; void testList(); void testMap(); void testAvl(); void testBuffer(); void testBuffer2d();