Implement basic transformer tests (#689)

This commit is contained in:
Alex Kremer
2023-06-13 11:16:52 +01:00
committed by GitHub
parent 01e4eed130
commit 14f9f98cf2
23 changed files with 580 additions and 126 deletions

View File

@@ -20,6 +20,119 @@
#pragma once
#include <cstddef>
#include <string>
#include <vector>
class FakeBook
{
std::string base_;
std::string first_;
public:
std::string*
mutable_first_book()
{
return &first_;
}
std::string
book_base() const
{
return base_;
}
std::string*
mutable_book_base()
{
return &base_;
}
};
class FakeBookSuccessors
{
std::vector<FakeBook> books_;
public:
auto
begin()
{
return books_.begin();
}
auto
end()
{
return books_.end();
}
};
class FakeLedgerObject
{
public:
enum ModType : int { MODIFIED, DELETED };
private:
std::string key_;
std::string data_;
std::string predecessor_;
std::string successor_;
ModType mod_ = MODIFIED;
public:
ModType
mod_type() const
{
return mod_;
}
std::string
key() const
{
return key_;
}
std::string*
mutable_key()
{
return &key_;
}
std::string
data() const
{
return data_;
}
std::string*
mutable_data()
{
return &data_;
}
std::string*
mutable_predecessor()
{
return &predecessor_;
}
std::string*
mutable_successor()
{
return &successor_;
}
};
class FakeLedgerObjects
{
std::vector<FakeLedgerObject> objects;
public:
std::vector<FakeLedgerObject>*
mutable_objects()
{
return &objects;
}
};
class FakeTransactionsList
{
@@ -33,11 +146,33 @@ public:
}
};
class FakeObjectsList
{
std::size_t size_ = 0;
public:
std::size_t
objects_size()
{
return size_;
}
};
struct FakeFetchResponse
{
uint32_t id;
bool objectNeighborsIncluded;
FakeLedgerObjects ledgerObjects;
std::string ledgerHeader;
FakeBookSuccessors bookSuccessors;
FakeFetchResponse(uint32_t id = 0) : id{id}
FakeFetchResponse(uint32_t id = 0, bool objectNeighborsIncluded = false)
: id{id}, objectNeighborsIncluded{objectNeighborsIncluded}
{
}
FakeFetchResponse(std::string blob, uint32_t id = 0, bool objectNeighborsIncluded = false)
: id{id}, objectNeighborsIncluded{objectNeighborsIncluded}, ledgerHeader{blob}
{
}
@@ -52,4 +187,40 @@ struct FakeFetchResponse
{
return {};
}
FakeObjectsList
ledger_objects() const
{
return {};
}
bool
object_neighbors_included() const
{
return objectNeighborsIncluded;
}
FakeLedgerObjects*
mutable_ledger_objects()
{
return &ledgerObjects;
}
std::string
ledger_header() const
{
return ledgerHeader;
}
std::string*
mutable_ledger_header()
{
return &ledgerHeader;
}
FakeBookSuccessors*
mutable_book_successors()
{
return &bookSuccessors;
}
};