mirror of
https://github.com/XRPLF/clio.git
synced 2025-11-26 14:45:52 +00:00
Implement basic transformer tests (#689)
This commit is contained in:
@@ -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;
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user