displayLayout and Rendering TUI library |
git clone git://git.dimitrijedobrota.com/display.git |
Log | Files | Refs | README | LICENSE | HACKING | CONTRIBUTING | CODE_OF_CONDUCT | BUILDING |
utility_test.cpp (1506B)
0 #include <cstdint>
1 #include <limits>
3 #include "display/utility.hpp"
5 int main()
6 {
7 using namespace display; // NOLINT
9 using sz_t = std::uint16_t;
10 using lim = std::numeric_limits<sz_t>;
12 static constexpr const sz_t zero = 0;
13 static constexpr const sz_t one = 1;
15 // is_overflow
16 static_assert(!is_overflow(lim::max(), zero));
17 static_assert(is_overflow(lim::max(), one));
18 static_assert(!is_overflow(lim::min(), zero));
19 static_assert(!is_overflow(lim::min(), one));
21 // is_underflow
22 static_assert(!is_underflow(lim::max(), zero));
23 static_assert(!is_underflow(lim::max(), one));
24 static_assert(!is_underflow(lim::min(), zero));
25 static_assert(is_underflow(lim::min(), one));
27 // is_overflow_lim
28 static_assert(!is_overflow_lim(1U, 0U, 2U));
29 static_assert(is_overflow_lim(1U, 2U, 2U));
30 static_assert(is_overflow_lim(3U, 1U, 2U));
31 static_assert(is_overflow_lim(1U, 3U, 2U));
33 // is_underflow_lim
34 static_assert(!is_underflow_lim(2U, 1U, 1U));
35 static_assert(is_underflow_lim(1U, 2U, 1U));
36 static_assert(is_underflow_lim(0U, 1U, 1U));
37 static_assert(is_underflow_lim(1U, 0U, 1U));
39 // add_lim
40 static_assert(add_lim(1U, 0U, 2U) == 1);
41 static_assert(add_lim(1U, 2U, 2U) == 2);
42 static_assert(add_lim(3U, 1U, 2U) == 2);
43 static_assert(add_lim(1U, 3U, 2U) == 2);
45 // sub_lim
46 static_assert(sub_lim(3U, 1U, 1U) == 2);
47 static_assert(sub_lim(1U, 2U, 1U) == 1);
48 static_assert(sub_lim(0U, 1U, 1U) == 1);
49 static_assert(sub_lim(1U, 0U, 1U) == 1);
51 return 0;
52 }