Merge pull request #26362 from ksooo/estuary-rework-pvr-info-dialog
[xbmc.git] / xbmc / utils / test / TestEndianSwap.cpp
blob70d3cf0bb1518b68b01d96bf3b6c803abfef9fde
1 /*
2 * Copyright (C) 2005-2018 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
7 */
9 #include "utils/EndianSwap.h"
11 #include <gtest/gtest.h>
13 TEST(TestEndianSwap, Endian_Swap16)
15 uint16_t ref, var;
16 ref = 0x00FF;
17 var = Endian_Swap16(0xFF00);
18 EXPECT_EQ(ref, var);
21 TEST(TestEndianSwap, Endian_Swap32)
23 uint32_t ref, var;
24 ref = 0x00FF00FF;
25 var = Endian_Swap32(0xFF00FF00);
26 EXPECT_EQ(ref, var);
29 TEST(TestEndianSwap, Endian_Swap64)
31 uint64_t ref, var;
32 ref = UINT64_C(0x00FF00FF00FF00FF);
33 var = Endian_Swap64(UINT64_C(0xFF00FF00FF00FF00));
34 EXPECT_EQ(ref, var);
37 #ifndef WORDS_BIGENDIAN
38 TEST(TestEndianSwap, Endian_SwapLE16)
40 uint16_t ref, var;
41 ref = 0x00FF;
42 var = Endian_SwapLE16(0x00FF);
43 EXPECT_EQ(ref, var);
46 TEST(TestEndianSwap, Endian_SwapLE32)
48 uint32_t ref, var;
49 ref = 0x00FF00FF;
50 var = Endian_SwapLE32(0x00FF00FF);
51 EXPECT_EQ(ref, var);
54 TEST(TestEndianSwap, Endian_SwapLE64)
56 uint64_t ref, var;
57 ref = UINT64_C(0x00FF00FF00FF00FF);
58 var = Endian_SwapLE64(UINT64_C(0x00FF00FF00FF00FF));
59 EXPECT_EQ(ref, var);
62 TEST(TestEndianSwap, Endian_SwapBE16)
64 uint16_t ref, var;
65 ref = 0x00FF;
66 var = Endian_SwapBE16(0xFF00);
67 EXPECT_EQ(ref, var);
70 TEST(TestEndianSwap, Endian_SwapBE32)
72 uint32_t ref, var;
73 ref = 0x00FF00FF;
74 var = Endian_SwapBE32(0xFF00FF00);
75 EXPECT_EQ(ref, var);
78 TEST(TestEndianSwap, Endian_SwapBE64)
80 uint64_t ref, var;
81 ref = UINT64_C(0x00FF00FF00FF00FF);
82 var = Endian_SwapBE64(UINT64_C(0xFF00FF00FF00FF00));
83 EXPECT_EQ(ref, var);
85 #else
86 TEST(TestEndianSwap, Endian_SwapLE16)
88 uint16_t ref, var;
89 ref = 0x00FF;
90 var = Endian_SwapLE16(0xFF00);
91 EXPECT_EQ(ref, var);
94 TEST(TestEndianSwap, Endian_SwapLE32)
96 uint32_t ref, var;
97 ref = 0x00FF00FF;
98 var = Endian_SwapLE32(0xFF00FF00);
99 EXPECT_EQ(ref, var);
102 TEST(TestEndianSwap, Endian_SwapLE64)
104 uint64_t ref, var;
105 ref = UINT64_C(0x00FF00FF00FF00FF);
106 var = Endian_SwapLE64(UINT64_C(0xFF00FF00FF00FF00));
107 EXPECT_EQ(ref, var);
110 TEST(TestEndianSwap, Endian_SwapBE16)
112 uint16_t ref, var;
113 ref = 0x00FF;
114 var = Endian_SwapBE16(0x00FF);
115 EXPECT_EQ(ref, var);
118 TEST(TestEndianSwap, Endian_SwapBE32)
120 uint32_t ref, var;
121 ref = 0x00FF00FF;
122 var = Endian_SwapBE32(0x00FF00FF);
123 EXPECT_EQ(ref, var);
126 TEST(TestEndianSwap, Endian_SwapBE64)
128 uint64_t ref, var;
129 ref = UINT64_C(0x00FF00FF00FF00FF);
130 var = Endian_SwapBE64(UINT64_C(0x00FF00FF00FF00FF));
131 EXPECT_EQ(ref, var);
133 #endif