1#ifndef IPFS_MOCK_BOR_H_
2#define IPFS_MOCK_BOR_H_
4#include "ipfs_client/client.h"
6#include <gtest/gtest.h>
9using namespace std::literals;
13 std::optional<std::string> sval = std::nullopt;
14 std::optional<std::uint64_t> uval = std::nullopt;
15 std::map<std::string, MockCbor> children;
16 std::unique_ptr<DagCborValue> at(std::string_view key)
const {
18 auto i = children.find(k);
19 if (children.end() == i) {
22 return std::make_unique<MockCbor>(i->second);
24 std::optional<std::uint64_t> as_unsigned()
const {
return uval; }
25 std::optional<std::string> as_string()
const {
return sval; }
26 std::optional<i::Cid> as_link()
const {
return {};
28 std::optional<bool> as_bool()
const {
return {}; }
29 std::optional<std::int64_t> as_signed()
const {
return {}; }
30 std::optional<double> as_float()
const {
return {}; }
31 std::optional<std::vector<std::uint8_t>> as_bytes()
const {
32 if (sval.has_value()) {
33 auto b =
reinterpret_cast<std::uint8_t const*
>(sval.value().data());
34 auto e = b + sval.value().size();
35 return std::vector<std::uint8_t>(b, e);
39 void set(std::string k, MockCbor v) { children[k] = v; }
40 MockCbor(std::string s) : sval{s} {}
41 MockCbor(std::uint64_t u) : uval{u} {}
43 MockCbor(MockCbor
const&) =
default;
44 std::string html()
const {
return "<p>no</p>"; }
45 bool is_map()
const {
return false; }
46 bool is_array()
const {
return false; }
47 void iterate_map(MapElementCallback)
const {}
48 void iterate_array(ArrayElementCallback)
const {}
Definition dag_cbor_value.h:15