#include "preserves.hpp" #include #include "googletest/gtest/gtest.h" using namespace std; using namespace Preserves; TEST(Value, Basics) { auto vs = Value<>::from(vector>{ Value<>::from(1), Value<>::from(2.0), Value<>::from("three"), }); ASSERT_EQ(3U, vs.size()); ASSERT_EQ(1U, vs[0].to_unsigned()); ASSERT_EQ(1.0, vs[0].to_double()); ASSERT_EQ(2.0, vs[1].to_double()); ASSERT_EQ("three", vs[2].to_string()); ASSERT_EQ(ValueKind::Sequence, vs.value_kind()); ASSERT_EQ(ValueKind::String, vs[2].value_kind()); } TEST(BinaryReader, ReadSamples) { ifstream f("../../tests/samples.bin", ios::binary); BinaryReader<> r(f, &GenericEmbedded::wrap); auto v = r.next(); ASSERT_TRUE(v); }