File: test_spec.cpp

package info (click to toggle)
toml11 4.4.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 3,464 kB
  • sloc: cpp: 38,446; makefile: 8; sh: 5
file content (58 lines) | stat: -rw-r--r-- 1,484 bytes parent folder | download
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
#include <doctest/doctest.h>

#include <toml11/spec.hpp>

TEST_CASE("testing constructor of semantic_version")
{
    constexpr auto v123 = toml::semantic_version(1, 2, 3);

    CHECK(v123.major == 1);
    CHECK(v123.minor == 2);
    CHECK(v123.patch == 3);
}

TEST_CASE("testing the ordering of semantic_version")
{
    constexpr auto v100 = toml::semantic_version(1, 0, 0);
    constexpr auto v101 = toml::semantic_version(1, 0, 1);
    constexpr auto v110 = toml::semantic_version(1, 1, 0);
    constexpr auto v112 = toml::semantic_version(1, 1, 2);
    constexpr auto v121 = toml::semantic_version(1, 2, 1);

    CHECK(v100 == v100);
    CHECK(v100 >= v100);
    CHECK(v100 <= v100);
    CHECK_FALSE(v100 != v100);
    CHECK_FALSE(v100 >  v100);
    CHECK_FALSE(v100 <  v100);

    CHECK(v100 != v101);
    CHECK(v100 <= v101);
    CHECK(v100 <  v101);
    CHECK_FALSE(v100 == v101);
    CHECK_FALSE(v100 >= v101);
    CHECK_FALSE(v100 >  v101);

    CHECK(v101 != v110);
    CHECK(v101 <  v110);
    CHECK(v101 <= v110);
    CHECK_FALSE(v101 == v110);
    CHECK_FALSE(v101 >  v110);
    CHECK_FALSE(v101 >= v110);

    CHECK(v110 != v101);
    CHECK(v110 >  v101);
    CHECK(v110 >= v101);
    CHECK_FALSE(v110 == v101);
    CHECK_FALSE(v110 <  v101);
    CHECK_FALSE(v110 <= v101);

    CHECK(v112 != v121);
    CHECK(v112 <  v121);
    CHECK(v112 <= v121);

    CHECK(v121 != v112);
    CHECK(v121 >  v112);
    CHECK(v121 >= v112);
}