aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/common/endian.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/test/common/endian.h b/test/common/endian.h
new file mode 100644
index 0000000000..cba7618c43
--- /dev/null
+++ b/test/common/endian.h
@@ -0,0 +1,36 @@
+#include <cxxtest/TestSuite.h>
+#include "common/endian.h"
+
+class EndianTestSuite : public CxxTest::TestSuite
+{
+ public:
+ void test_MKTAG() {
+ const char *str_tag = "ABCD";
+ uint32 tag = READ_BE_UINT32(str_tag);
+ TS_ASSERT_EQUALS(MKTAG('A','B','C','D'), tag);
+ }
+
+ void test_READ_BE_UINT32() {
+ const char data[4] = { 0x12, 0x34, 0x56, 0x78 };
+ uint32 value = READ_BE_UINT32(data);
+ TS_ASSERT_EQUALS(value, 0x12345678UL);
+ }
+
+ void test_READ_LE_UINT32() {
+ const char data[4] = { 0x12, 0x34, 0x56, 0x78 };
+ uint32 value = READ_LE_UINT32(data);
+ TS_ASSERT_EQUALS(value, 0x78563412UL);
+ }
+
+ void test_READ_BE_UINT16() {
+ const char data[4] = { 0x12, 0x34, 0x56, 0x78 };
+ uint32 value = READ_BE_UINT16(data);
+ TS_ASSERT_EQUALS(value, 0x1234UL);
+ }
+
+ void test_READ_LE_UINT16() {
+ const char data[4] = { 0x12, 0x34, 0x56, 0x78 };
+ uint32 value = READ_LE_UINT16(data);
+ TS_ASSERT_EQUALS(value, 0x3412UL);
+ }
+};