123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- /*
- * Copyright (c) 2019 - 2024 Stefan Strobel <stefan.strobel@shimatta.net>
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at https://mozilla.org/MPL/2.0/.
- */
- /**
- * @file test_utils_shellItoa.c
- * @brief unittest for shellmatta utils_shellItoa
- * @author Stefan Strobel <stefan.strobel@shimatta.net>
- */
- #include "test/framework/catch.hpp"
- #include "src/shellmatta_utils.c"
- #include <string.h>
- TEST_CASE( "shellmatta_utils.c - itoa - 123456 base 10") {
- char buffer[64];
- memset(buffer, 0, sizeof(buffer));
- CHECK(utils_shellItoa(123456, buffer, 10) == 6);
- REQUIRE_THAT(buffer, Catch::Matchers::Equals("123456"));
- }
- TEST_CASE( "shellmatta_utils.c - itoa - 0x0ABBCCDD base 16") {
- char buffer[64];
- memset(buffer, 0, sizeof(buffer));
- CHECK(utils_shellItoa(0x0ABBCCDD, buffer, 16) == 7);
- REQUIRE_THAT(buffer, Catch::Matchers::Equals("ABBCCDD"));
- }
- TEST_CASE( "shellmatta_utils.c - itoa - -574236 base 10") {
- char buffer[64];
- memset(buffer, 0, sizeof(buffer));
- CHECK(utils_shellItoa(-574236, buffer, 10) == 7);
- REQUIRE_THAT(buffer, Catch::Matchers::Equals("-574236"));
- }
- TEST_CASE( "shellmatta_utils.c - itoa - 0x80000000 base 2") {
- char buffer[64];
- memset(buffer, 0, sizeof(buffer));
- CHECK(utils_shellItoa(0x80000000, buffer, 2) == 33);
- REQUIRE_THAT(buffer, Catch::Matchers::Equals("-10000000000000000000000000000000"));
- }
- TEST_CASE( "shellmatta_utils.c - itoa - 0x7FFFFFFF base 2") {
- char buffer[64];
- memset(buffer, 0, sizeof(buffer));
- CHECK(utils_shellItoa(0x7FFFFFFF, buffer, 2) == 31);
- REQUIRE_THAT(buffer, Catch::Matchers::Equals("1111111111111111111111111111111"));
- }
- TEST_CASE( "shellmatta_utils.c - itoa - 0x7FFFFFFF base 1 - wrong base") {
- char buffer[64];
- memset(buffer, 0, sizeof(buffer));
- CHECK(utils_shellItoa(0x7FFFFFFF, buffer, 1) == 0);
- REQUIRE_THAT(buffer, Catch::Matchers::Equals("\0"));
- }
- TEST_CASE( "shellmatta_utils.c - itoa - 0x7FFFFFFF base 17 - wrong base") {
- char buffer[64];
- memset(buffer, 0, sizeof(buffer));
- CHECK(utils_shellItoa(0x7FFFFFFF, buffer, 17) == 0);
- REQUIRE_THAT(buffer, Catch::Matchers::Equals("\0"));
- }
|