summaryrefslogtreecommitdiffstats
path: root/xbmc/utils/test/TestEndianSwap.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'xbmc/utils/test/TestEndianSwap.cpp')
-rw-r--r--xbmc/utils/test/TestEndianSwap.cpp133
1 files changed, 133 insertions, 0 deletions
diff --git a/xbmc/utils/test/TestEndianSwap.cpp b/xbmc/utils/test/TestEndianSwap.cpp
new file mode 100644
index 0000000..70d3cf0
--- /dev/null
+++ b/xbmc/utils/test/TestEndianSwap.cpp
@@ -0,0 +1,133 @@
1/*
2 * Copyright (C) 2005-2018 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
4 *
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
7 */
8
9#include "utils/EndianSwap.h"
10
11#include <gtest/gtest.h>
12
13TEST(TestEndianSwap, Endian_Swap16)
14{
15 uint16_t ref, var;
16 ref = 0x00FF;
17 var = Endian_Swap16(0xFF00);
18 EXPECT_EQ(ref, var);
19}
20
21TEST(TestEndianSwap, Endian_Swap32)
22{
23 uint32_t ref, var;
24 ref = 0x00FF00FF;
25 var = Endian_Swap32(0xFF00FF00);
26 EXPECT_EQ(ref, var);
27}
28
29TEST(TestEndianSwap, Endian_Swap64)
30{
31 uint64_t ref, var;
32 ref = UINT64_C(0x00FF00FF00FF00FF);
33 var = Endian_Swap64(UINT64_C(0xFF00FF00FF00FF00));
34 EXPECT_EQ(ref, var);
35}
36
37#ifndef WORDS_BIGENDIAN
38TEST(TestEndianSwap, Endian_SwapLE16)
39{
40 uint16_t ref, var;
41 ref = 0x00FF;
42 var = Endian_SwapLE16(0x00FF);
43 EXPECT_EQ(ref, var);
44}
45
46TEST(TestEndianSwap, Endian_SwapLE32)
47{
48 uint32_t ref, var;
49 ref = 0x00FF00FF;
50 var = Endian_SwapLE32(0x00FF00FF);
51 EXPECT_EQ(ref, var);
52}
53
54TEST(TestEndianSwap, Endian_SwapLE64)
55{
56 uint64_t ref, var;
57 ref = UINT64_C(0x00FF00FF00FF00FF);
58 var = Endian_SwapLE64(UINT64_C(0x00FF00FF00FF00FF));
59 EXPECT_EQ(ref, var);
60}
61
62TEST(TestEndianSwap, Endian_SwapBE16)
63{
64 uint16_t ref, var;
65 ref = 0x00FF;
66 var = Endian_SwapBE16(0xFF00);
67 EXPECT_EQ(ref, var);
68}
69
70TEST(TestEndianSwap, Endian_SwapBE32)
71{
72 uint32_t ref, var;
73 ref = 0x00FF00FF;
74 var = Endian_SwapBE32(0xFF00FF00);
75 EXPECT_EQ(ref, var);
76}
77
78TEST(TestEndianSwap, Endian_SwapBE64)
79{
80 uint64_t ref, var;
81 ref = UINT64_C(0x00FF00FF00FF00FF);
82 var = Endian_SwapBE64(UINT64_C(0xFF00FF00FF00FF00));
83 EXPECT_EQ(ref, var);
84}
85#else
86TEST(TestEndianSwap, Endian_SwapLE16)
87{
88 uint16_t ref, var;
89 ref = 0x00FF;
90 var = Endian_SwapLE16(0xFF00);
91 EXPECT_EQ(ref, var);
92}
93
94TEST(TestEndianSwap, Endian_SwapLE32)
95{
96 uint32_t ref, var;
97 ref = 0x00FF00FF;
98 var = Endian_SwapLE32(0xFF00FF00);
99 EXPECT_EQ(ref, var);
100}
101
102TEST(TestEndianSwap, Endian_SwapLE64)
103{
104 uint64_t ref, var;
105 ref = UINT64_C(0x00FF00FF00FF00FF);
106 var = Endian_SwapLE64(UINT64_C(0xFF00FF00FF00FF00));
107 EXPECT_EQ(ref, var);
108}
109
110TEST(TestEndianSwap, Endian_SwapBE16)
111{
112 uint16_t ref, var;
113 ref = 0x00FF;
114 var = Endian_SwapBE16(0x00FF);
115 EXPECT_EQ(ref, var);
116}
117
118TEST(TestEndianSwap, Endian_SwapBE32)
119{
120 uint32_t ref, var;
121 ref = 0x00FF00FF;
122 var = Endian_SwapBE32(0x00FF00FF);
123 EXPECT_EQ(ref, var);
124}
125
126TEST(TestEndianSwap, Endian_SwapBE64)
127{
128 uint64_t ref, var;
129 ref = UINT64_C(0x00FF00FF00FF00FF);
130 var = Endian_SwapBE64(UINT64_C(0x00FF00FF00FF00FF));
131 EXPECT_EQ(ref, var);
132}
133#endif