Archiver Initial

This commit is contained in:
IlyaShurupov 2023-07-25 18:47:00 +03:00 committed by Ilya Shurupov
parent 4a5877784b
commit 31e420b311
25 changed files with 652 additions and 124 deletions

View file

@ -2,6 +2,7 @@
#include "Tests.hpp"
#include "Testing.hpp"
#include "Archiver.hpp"
using namespace tp;
@ -53,18 +54,19 @@ TEST_DEF_STATIC(Copy) {
list2.removeAll();
}
TEST_DEF_STATIC(SaveLoad) {
TEST_DEF_STATIC(Serialization) {
tp::List<TestClass, HeapAlloc> list = { TestClass(1), TestClass(2), TestClass(3), TestClass(4) };
TestFile file;
ArchiverExample<1024, false> write;
ArchiverExample<1024, true> read;
list.write(file);
write % list;
list.removeAll();
file.setAddress(0);
memCopy(read.mBuff, write.mBuff, sizeof(write.mBuff));
list.read(file);
read % list;
ualni i = 0;
for (auto iter : list) {
@ -79,5 +81,5 @@ TEST_DEF_STATIC(SaveLoad) {
TEST_DEF(List) {
testSimplePointer();
testSimpleReference();
testSaveLoad();
testSerialization();
}

View file

@ -3,6 +3,7 @@
#include "Tests.hpp"
#include "Testing.hpp"
#include "Map.hpp"
#include "Archiver.hpp"
using namespace tp;
@ -100,17 +101,18 @@ TEST_DEF_STATIC(SaveLoad) {
map.put(i, TestClass(i));
}
TestFile file;
ArchiverExample<1024, false> write;
ArchiverExample<1024, true> read;
map.write(file);
write % map;
map.removeAll();
TEST(map.size() == 0);
file.setAddress(0);
memCopy(read.mBuff, write.mBuff, sizeof(write.mBuff));
map.read(file);
read % map;
TEST(map.size() == 10);

View file

@ -28,37 +28,6 @@ public:
void setVal(tp::ualni val) { val1 = val; }
};
class TestFile {
tp::ualni mem[1024] = { 0 };
tp::ualni address = 0;
public:
TestFile() = default;
template<typename Type>
void write(const Type& val) {
val.write(*this);
}
template<>
void write<tp::ualni>(const tp::ualni& val) {
mem[address] = val;
address++;
}
void setAddress(tp::ualni addr) { address = addr; }
template<typename Type>
void read(Type& val) {
val.read(*this);
}
template<>
void read<tp::ualni>(tp::ualni& val) {
val = mem[address];
address++;
}
};
void testList();
void testMap();