3#include <ipfs_client/dag_cbor_value.h>
5#include <gtest/gtest.h>
11 std::vector<MockCborVal> list;
12 std::optional<std::int64_t> number;
13 std::optional<double> flt;
14 std::optional<std::string> str;
15 std::optional<bool> bol;
16 std::map<std::string,MockCborVal> dict;
17 std::unique_ptr<ipfs::DagCborValue> at(std::string_view k)
const {
18 auto i = dict.find(std::string{k});
19 if (i == dict.end()) {
22 return std::make_unique<MockCborVal>(i->second);
24 std::optional<std::uint64_t> as_unsigned()
const {
27 std::optional<double> as_float()
const {
30 std::optional<std::int64_t> as_signed()
const {
33 std::optional<std::string> as_string()
const {
return str;}
34 std::optional<std::vector<std::uint8_t>> as_bytes()
const {
return std::nullopt;}
35 std::optional<bool> as_bool()
const {
38 std::optional<ipfs::Cid> as_link()
const {
42 return ! dict.empty();
44 bool is_array()
const {
return!list.empty();}
45 void iterate_map(MapElementCallback f)
const {
46 for (
auto& [k,v] : dict) {
50 void iterate_array(ArrayElementCallback f)
const {
51 for (
auto& v : list) {
55 ~MockCborVal() noexcept = default;
Definition dag_cbor_value.h:15