basedOpinionated utility library |
git clone git://git.dimitrijedobrota.com/based.git |
Log | Files | Refs | README | LICENSE | HACKING | CONTRIBUTING | CODE_OF_CONDUCT | BUILDING |
limits_test.cpp (1252B)
0 #define CATCH_CONFIG_RUNTIME_STATIC_REQUIRE
2 #include <catch2/catch_test_macros.hpp>
4 #include "based/integral/types.hpp"
6 using based::limits;
8 TEST_CASE("unsigned", "[integral/literals]")
9 {
10 STATIC_REQUIRE(limits<based::U8>::min.value == 0ULL);
11 STATIC_REQUIRE(limits<based::U16>::min.value == 0ULL);
12 STATIC_REQUIRE(limits<based::U32>::min.value == 0ULL);
13 STATIC_REQUIRE(limits<based::U64>::min.value == 0ULL);
15 STATIC_REQUIRE(limits<based::U8>::max.value == 255ULL);
16 STATIC_REQUIRE(limits<based::U16>::max.value == 65535ULL);
17 STATIC_REQUIRE(limits<based::U32>::max.value == 4294967295ULL);
18 STATIC_REQUIRE(limits<based::U64>::max.value == 18446744073709551615ULL);
19 }
21 TEST_CASE("signed", "[integral/literals]")
22 {
23 STATIC_REQUIRE(limits<based::I8>::min.value == -128LL);
24 STATIC_REQUIRE(limits<based::I16>::min.value == -32768LL);
25 STATIC_REQUIRE(limits<based::I32>::min.value == -2147483648LL);
26 STATIC_REQUIRE(limits<based::I64>::min.value == -9223372036854775807LL - 1);
28 STATIC_REQUIRE(limits<based::I8>::max.value == 127LL);
29 STATIC_REQUIRE(limits<based::I16>::max.value == 32767LL);
30 STATIC_REQUIRE(limits<based::I32>::max.value == 2147483647LL);
31 STATIC_REQUIRE(limits<based::I64>::max.value == 9223372036854775807LL);
32 }