diff options
author | Max Kellermann <max@duempel.org> | 2013-10-16 21:04:52 +0200 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2013-10-16 22:07:52 +0200 |
commit | 6b2b5af3440d8bd5c6ca6bde934610925d652e88 (patch) | |
tree | 96188739cd4d52aa133c9d448b14d7f74e61e5d7 /test/test_byte_reverse.cxx | |
parent | f32fbd9ed13bc6017f72928a49c43c6bf73fd615 (diff) | |
download | mpd-6b2b5af3440d8bd5c6ca6bde934610925d652e88.tar.gz mpd-6b2b5af3440d8bd5c6ca6bde934610925d652e88.tar.xz mpd-6b2b5af3440d8bd5c6ca6bde934610925d652e88.zip |
util/byte_reverse: convert to C++
Diffstat (limited to 'test/test_byte_reverse.cxx')
-rw-r--r-- | test/test_byte_reverse.cxx | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/test/test_byte_reverse.cxx b/test/test_byte_reverse.cxx new file mode 100644 index 000000000..67e394454 --- /dev/null +++ b/test/test_byte_reverse.cxx @@ -0,0 +1,83 @@ +/* + * Copyright (C) 2003-2013 The Music Player Daemon Project + * http://www.musicpd.org + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "util/ByteReverse.hxx" +#include "util/Macros.hxx" + +#include <glib.h> + +static void +test_byte_reverse_2(void) +{ + static const char src[] = "123456"; + static const char result[] = "214365"; + static uint8_t dest[ARRAY_SIZE(src)]; + + reverse_bytes(dest, (const uint8_t *)src, + (const uint8_t *)(src + ARRAY_SIZE(src) - 1), 2); + g_assert_cmpstr((const char *)dest, ==, result); +} + +static void +test_byte_reverse_3(void) +{ + static const char src[] = "123456"; + static const char result[] = "321654"; + static uint8_t dest[ARRAY_SIZE(src)]; + + reverse_bytes(dest, (const uint8_t *)src, + (const uint8_t *)(src + ARRAY_SIZE(src) - 1), 3); + g_assert_cmpstr((const char *)dest, ==, result); +} + +static void +test_byte_reverse_4(void) +{ + static const char src[] = "12345678"; + static const char result[] = "43218765"; + static uint8_t dest[ARRAY_SIZE(src)]; + + reverse_bytes(dest, (const uint8_t *)src, + (const uint8_t *)(src + ARRAY_SIZE(src) - 1), 4); + g_assert_cmpstr((const char *)dest, ==, result); +} + +static void +test_byte_reverse_5(void) +{ + static const char src[] = "1234567890"; + static const char result[] = "5432109876"; + static uint8_t dest[ARRAY_SIZE(src)]; + + reverse_bytes(dest, (const uint8_t *)src, + (const uint8_t *)(src + ARRAY_SIZE(src) - 1), 5); + g_assert_cmpstr((const char *)dest, ==, result); +} + +int +main(int argc, char **argv) +{ + g_test_init (&argc, &argv, NULL); + g_test_add_func("/util/byte_reverse/2", test_byte_reverse_2); + g_test_add_func("/util/byte_reverse/3", test_byte_reverse_3); + g_test_add_func("/util/byte_reverse/4", test_byte_reverse_4); + g_test_add_func("/util/byte_reverse/5", test_byte_reverse_5); + + g_test_run(); +} |