blob: 1bbcf4f5e45dbb02f07c3885e29c9ff4780842fd (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
/*
* This source code is released into the public domain.
*/
#include <catch2/catch_test_macros.hpp>
#include <ucl.h>
import nihil.ucl;
TEST_CASE("ucl object: get_ucl_object", "[ucl]")
{
auto obj = nihil::ucl::integer(42);
REQUIRE(obj.get_ucl_object() != nullptr);
static_assert(std::same_as<::ucl_object_t *,
decltype(obj.get_ucl_object())>);
auto const cobj = obj;
static_assert(std::same_as<::ucl_object_t const *,
decltype(cobj.get_ucl_object())>);
}
TEST_CASE("ucl object: compare", "[ucl]")
{
using namespace std::literals;
auto obj_41 = nihil::ucl::parse("int = 41;"sv);
auto obj_42 = nihil::ucl::parse("int = 42;"sv);
auto obj_42_2 = nihil::ucl::parse("int = 42;"sv);
auto obj_43 = nihil::ucl::parse("int = 43;"sv);
REQUIRE(obj_42 == obj_42_2);
REQUIRE(obj_42 != obj_43);
REQUIRE(obj_42 < obj_43);
REQUIRE(obj_42 > obj_41);
}
|