#include #include "matador/sql/field.hpp" using namespace matador::sql; TEST_CASE("Field test", "[field]") { field f("name"); REQUIRE(f.name() == "name"); REQUIRE(f.is_null()); REQUIRE(!f.is_integer()); REQUIRE(!f.is_floating_point()); REQUIRE(!f.is_blob()); REQUIRE(!f.is_bool()); REQUIRE(!f.is_string()); f = 7UL; REQUIRE(!f.is_null()); REQUIRE(f.is_integer()); REQUIRE(!f.is_floating_point()); REQUIRE(!f.is_blob()); REQUIRE(!f.is_bool()); REQUIRE(!f.is_string()); auto int_val = f.as(); REQUIRE(int_val.has_value()); REQUIRE(int_val.value() == 7); auto float_val = f.as(); REQUIRE(float_val.has_value()); REQUIRE(float_val.value() == 7.0); auto str_val = f.as(); REQUIRE(str_val.has_value()); REQUIRE(str_val.value() == "7"); auto bool_val = f.as(); REQUIRE(bool_val.has_value()); REQUIRE(bool_val.value()); }