Archiver Initial
This commit is contained in:
parent
4a5877784b
commit
31e420b311
25 changed files with 652 additions and 124 deletions
|
|
@ -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();
|
||||
}
|
||||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue