Serenity Operating System
1/*
2 * Copyright (c) 2020, the SerenityOS developers.
3 *
4 * SPDX-License-Identifier: BSD-2-Clause
5 */
6
7#include <LibTest/TestCase.h>
8
9#include <AK/Hex.h>
10
11TEST_CASE(should_decode_hex_digit)
12{
13 EXPECT_EQ(0u, decode_hex_digit('0'));
14 EXPECT_EQ(1u, decode_hex_digit('1'));
15 EXPECT_EQ(2u, decode_hex_digit('2'));
16 EXPECT_EQ(3u, decode_hex_digit('3'));
17 EXPECT_EQ(4u, decode_hex_digit('4'));
18 EXPECT_EQ(5u, decode_hex_digit('5'));
19 EXPECT_EQ(6u, decode_hex_digit('6'));
20 EXPECT_EQ(7u, decode_hex_digit('7'));
21 EXPECT_EQ(8u, decode_hex_digit('8'));
22 EXPECT_EQ(9u, decode_hex_digit('9'));
23 EXPECT_EQ(10u, decode_hex_digit('a'));
24 EXPECT_EQ(11u, decode_hex_digit('b'));
25 EXPECT_EQ(12u, decode_hex_digit('c'));
26 EXPECT_EQ(13u, decode_hex_digit('d'));
27 EXPECT_EQ(14u, decode_hex_digit('e'));
28 EXPECT_EQ(15u, decode_hex_digit('f'));
29 EXPECT_EQ(10u, decode_hex_digit('A'));
30 EXPECT_EQ(11u, decode_hex_digit('B'));
31 EXPECT_EQ(12u, decode_hex_digit('C'));
32 EXPECT_EQ(13u, decode_hex_digit('D'));
33 EXPECT_EQ(14u, decode_hex_digit('E'));
34 EXPECT_EQ(15u, decode_hex_digit('F'));
35}
36
37TEST_CASE(should_constexpr_decode_hex_digit)
38{
39 static_assert(0u == decode_hex_digit('0'));
40 static_assert(1u == decode_hex_digit('1'));
41 static_assert(2u == decode_hex_digit('2'));
42 static_assert(3u == decode_hex_digit('3'));
43 static_assert(4u == decode_hex_digit('4'));
44 static_assert(5u == decode_hex_digit('5'));
45 static_assert(6u == decode_hex_digit('6'));
46 static_assert(7u == decode_hex_digit('7'));
47 static_assert(8u == decode_hex_digit('8'));
48 static_assert(9u == decode_hex_digit('9'));
49 static_assert(10u == decode_hex_digit('a'));
50 static_assert(11u == decode_hex_digit('b'));
51 static_assert(12u == decode_hex_digit('c'));
52 static_assert(13u == decode_hex_digit('d'));
53 static_assert(14u == decode_hex_digit('e'));
54 static_assert(15u == decode_hex_digit('f'));
55 static_assert(10u == decode_hex_digit('A'));
56 static_assert(11u == decode_hex_digit('B'));
57 static_assert(12u == decode_hex_digit('C'));
58 static_assert(13u == decode_hex_digit('D'));
59 static_assert(14u == decode_hex_digit('E'));
60 static_assert(15u == decode_hex_digit('F'));
61}