Files
syncspirit/tests/022-version.cpp

33 lines
1014 B
C++

// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: 2024-2025 Ivan Baidakou
#include "test-utils.h"
#include "model/version.h"
using namespace syncspirit;
using namespace syncspirit::model;
TEST_CASE("version ", "[model]") {
auto my_id = device_id_t::from_string("KHQNO2S-5QSILRK-YX4JZZ4-7L77APM-QNVGZJT-EKU7IFI-PNEPBMY-4MXFMQD").value();
auto my_device = device_t::create(my_id, "my-device").value();
auto proto_v = proto::Vector();
auto c0 = proto::Counter(1, 2);
auto c1 = proto::Counter(my_device->device_id().get_uint(), 10);
proto::add_counters(proto_v, c0);
proto::add_counters(proto_v, c1);
auto v1 = version_t(proto_v);
auto v1_copy = v1;
v1.update(*my_device);
auto best = v1.get_best();
CHECK(proto::get_id(best) == my_device->device_id().get_uint());
CHECK(proto::get_value(best) != 10);
CHECK(v1.contains(v1_copy));
CHECK(v1.contains(v1));
CHECK(!v1_copy.contains(v1));
CHECK(v1_copy.contains(v1_copy));
}