aboutsummaryrefslogtreecommitdiff
path: root/test/tests/TestEndian.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/tests/TestEndian.c')
-rw-r--r--test/tests/TestEndian.c69
1 files changed, 69 insertions, 0 deletions
diff --git a/test/tests/TestEndian.c b/test/tests/TestEndian.c
new file mode 100644
index 0000000..50283c8
--- /dev/null
+++ b/test/tests/TestEndian.c
@@ -0,0 +1,69 @@
+#include <BH/Util.h>
+#include <BH/Unit.h>
+
+
+BH_UNIT_TEST(Int16)
+{
+ char buffer[2];
+
+ BH_Write16LEs(buffer, -12345);
+ BH_VERIFY(BH_Read16LEs(buffer) == -12345);
+ BH_Write16BEs(buffer, BH_Read16BEs(buffer));
+ BH_VERIFY(BH_Read16LEs(buffer) == -12345);
+
+ BH_Write16LEu(buffer, 12345);
+ BH_VERIFY(BH_Read16LEu(buffer) == 12345);
+ BH_Write16BEu(buffer, BH_Read16BEu(buffer));
+ BH_VERIFY(BH_Read16LEu(buffer) == 12345);
+
+ return 0;
+}
+
+
+BH_UNIT_TEST(Int32)
+{
+ char buffer[4];
+
+ BH_Write32LEs(buffer, -12345);
+ BH_VERIFY(BH_Read32LEs(buffer) == -12345);
+ BH_Write32BEs(buffer, BH_Read32BEs(buffer));
+ BH_VERIFY(BH_Read32LEs(buffer) == -12345);
+
+ BH_Write32LEu(buffer, 12345);
+ BH_VERIFY(BH_Read32LEu(buffer) == 12345);
+ BH_Write32BEu(buffer, BH_Read32BEu(buffer));
+ BH_VERIFY(BH_Read32LEu(buffer) == 12345);
+
+ return 0;
+}
+
+
+BH_UNIT_TEST(Int64)
+{
+ char buffer[8];
+
+ BH_Write64LEs(buffer, -12345);
+ BH_VERIFY(BH_Read64LEs(buffer) == -12345);
+ BH_Write64BEs(buffer, BH_Read64BEs(buffer));
+ BH_VERIFY(BH_Read64LEs(buffer) == -12345);
+
+ BH_Write64LEu(buffer, 12345);
+ BH_VERIFY(BH_Read64LEu(buffer) == 12345);
+ BH_Write64BEu(buffer, BH_Read64BEu(buffer));
+ BH_VERIFY(BH_Read64LEu(buffer) == 12345);
+
+ return 0;
+}
+
+
+int main(int argc, char **argv)
+{
+ BH_UNUSED(argc);
+ BH_UNUSED(argv);
+
+ BH_UNIT_ADD(Int16);
+ BH_UNIT_ADD(Int32);
+ BH_UNIT_ADD(Int64);
+
+ return BH_UnitRun();
+}