| //===-- Unittests for integer_to_string -----------------------------------===// |
| // |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| // See https://llvm.org/LICENSE.txt for license information. |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #include "src/__support/CPP/StringView.h" |
| #include "src/__support/integer_to_string.h" |
| |
| #include "utils/UnitTest/Test.h" |
| |
| #include "limits.h" |
| |
| using __llvm_libc::integer_to_string; |
| using __llvm_libc::cpp::StringView; |
| |
| TEST(LlvmLibcIntegerToStringTest, UINT8) { |
| EXPECT_TRUE(integer_to_string(uint8_t(0)).str().equals(StringView("0"))); |
| EXPECT_TRUE(integer_to_string(uint8_t(1)).str().equals(StringView("1"))); |
| EXPECT_TRUE(integer_to_string(uint8_t(12)).str().equals(StringView("12"))); |
| EXPECT_TRUE(integer_to_string(uint8_t(123)).str().equals(StringView("123"))); |
| EXPECT_TRUE( |
| integer_to_string(uint8_t(UINT8_MAX)).str().equals(StringView("255"))); |
| EXPECT_TRUE(integer_to_string(uint8_t(-1)).str().equals(StringView("255"))); |
| } |
| |
| TEST(LlvmLibcIntegerToStringTest, INT8) { |
| EXPECT_TRUE(integer_to_string(int8_t(0)).str().equals(StringView("0"))); |
| EXPECT_TRUE(integer_to_string(int8_t(1)).str().equals(StringView("1"))); |
| EXPECT_TRUE(integer_to_string(int8_t(12)).str().equals(StringView("12"))); |
| EXPECT_TRUE(integer_to_string(int8_t(123)).str().equals(StringView("123"))); |
| EXPECT_TRUE(integer_to_string(int8_t(-12)).str().equals(StringView("-12"))); |
| EXPECT_TRUE(integer_to_string(int8_t(-123)).str().equals(StringView("-123"))); |
| EXPECT_TRUE( |
| integer_to_string(int8_t(INT8_MAX)).str().equals(StringView("127"))); |
| EXPECT_TRUE( |
| integer_to_string(int8_t(INT8_MIN)).str().equals(StringView("-128"))); |
| } |
| |
| TEST(LlvmLibcIntegerToStringTest, UINT16) { |
| EXPECT_TRUE(integer_to_string(uint16_t(0)).str().equals(StringView("0"))); |
| EXPECT_TRUE(integer_to_string(uint16_t(1)).str().equals(StringView("1"))); |
| EXPECT_TRUE(integer_to_string(uint16_t(12)).str().equals(StringView("12"))); |
| EXPECT_TRUE(integer_to_string(uint16_t(123)).str().equals(StringView("123"))); |
| EXPECT_TRUE( |
| integer_to_string(uint16_t(1234)).str().equals(StringView("1234"))); |
| EXPECT_TRUE( |
| integer_to_string(uint16_t(12345)).str().equals(StringView("12345"))); |
| EXPECT_TRUE(integer_to_string(uint16_t(UINT16_MAX)) |
| .str() |
| .equals(StringView("65535"))); |
| EXPECT_TRUE( |
| integer_to_string(uint16_t(-1)).str().equals(StringView("65535"))); |
| } |
| |
| TEST(LlvmLibcIntegerToStringTest, INT16) { |
| EXPECT_TRUE(integer_to_string(int16_t(0)).str().equals(StringView("0"))); |
| EXPECT_TRUE(integer_to_string(int16_t(1)).str().equals(StringView("1"))); |
| EXPECT_TRUE(integer_to_string(int16_t(12)).str().equals(StringView("12"))); |
| EXPECT_TRUE(integer_to_string(int16_t(123)).str().equals(StringView("123"))); |
| EXPECT_TRUE( |
| integer_to_string(int16_t(1234)).str().equals(StringView("1234"))); |
| EXPECT_TRUE( |
| integer_to_string(int16_t(12345)).str().equals(StringView("12345"))); |
| EXPECT_TRUE(integer_to_string(int16_t(-1)).str().equals(StringView("-1"))); |
| EXPECT_TRUE(integer_to_string(int16_t(-12)).str().equals(StringView("-12"))); |
| EXPECT_TRUE( |
| integer_to_string(int16_t(-123)).str().equals(StringView("-123"))); |
| EXPECT_TRUE( |
| integer_to_string(int16_t(-1234)).str().equals(StringView("-1234"))); |
| EXPECT_TRUE( |
| integer_to_string(int16_t(-12345)).str().equals(StringView("-12345"))); |
| EXPECT_TRUE( |
| integer_to_string(int16_t(INT16_MAX)).str().equals(StringView("32767"))); |
| EXPECT_TRUE( |
| integer_to_string(int16_t(INT16_MIN)).str().equals(StringView("-32768"))); |
| } |
| |
| TEST(LlvmLibcIntegerToStringTest, UINT32) { |
| EXPECT_TRUE(integer_to_string(uint32_t(0)).str().equals(StringView("0"))); |
| EXPECT_TRUE(integer_to_string(uint32_t(1)).str().equals(StringView("1"))); |
| EXPECT_TRUE(integer_to_string(uint32_t(12)).str().equals(StringView("12"))); |
| EXPECT_TRUE(integer_to_string(uint32_t(123)).str().equals(StringView("123"))); |
| EXPECT_TRUE( |
| integer_to_string(uint32_t(1234)).str().equals(StringView("1234"))); |
| EXPECT_TRUE( |
| integer_to_string(uint32_t(12345)).str().equals(StringView("12345"))); |
| EXPECT_TRUE( |
| integer_to_string(uint32_t(123456)).str().equals(StringView("123456"))); |
| EXPECT_TRUE( |
| integer_to_string(uint32_t(1234567)).str().equals(StringView("1234567"))); |
| EXPECT_TRUE(integer_to_string(uint32_t(12345678)) |
| .str() |
| .equals(StringView("12345678"))); |
| EXPECT_TRUE(integer_to_string(uint32_t(123456789)) |
| .str() |
| .equals(StringView("123456789"))); |
| EXPECT_TRUE(integer_to_string(uint32_t(1234567890)) |
| .str() |
| .equals(StringView("1234567890"))); |
| EXPECT_TRUE(integer_to_string(uint32_t(UINT32_MAX)) |
| .str() |
| .equals(StringView("4294967295"))); |
| EXPECT_TRUE( |
| integer_to_string(uint32_t(-1)).str().equals(StringView("4294967295"))); |
| } |
| |
| TEST(LlvmLibcIntegerToStringTest, INT32) { |
| EXPECT_TRUE(integer_to_string(int32_t(0)).str().equals(StringView("0"))); |
| EXPECT_TRUE(integer_to_string(int32_t(1)).str().equals(StringView("1"))); |
| EXPECT_TRUE(integer_to_string(int32_t(12)).str().equals(StringView("12"))); |
| EXPECT_TRUE(integer_to_string(int32_t(123)).str().equals(StringView("123"))); |
| EXPECT_TRUE( |
| integer_to_string(int32_t(1234)).str().equals(StringView("1234"))); |
| EXPECT_TRUE( |
| integer_to_string(int32_t(12345)).str().equals(StringView("12345"))); |
| EXPECT_TRUE( |
| integer_to_string(int32_t(123456)).str().equals(StringView("123456"))); |
| EXPECT_TRUE( |
| integer_to_string(int32_t(1234567)).str().equals(StringView("1234567"))); |
| EXPECT_TRUE(integer_to_string(int32_t(12345678)) |
| .str() |
| .equals(StringView("12345678"))); |
| EXPECT_TRUE(integer_to_string(int32_t(123456789)) |
| .str() |
| .equals(StringView("123456789"))); |
| EXPECT_TRUE(integer_to_string(int32_t(1234567890)) |
| .str() |
| .equals(StringView("1234567890"))); |
| EXPECT_TRUE(integer_to_string(int32_t(-1)).str().equals(StringView("-1"))); |
| EXPECT_TRUE(integer_to_string(int32_t(-12)).str().equals(StringView("-12"))); |
| EXPECT_TRUE( |
| integer_to_string(int32_t(-123)).str().equals(StringView("-123"))); |
| EXPECT_TRUE( |
| integer_to_string(int32_t(-1234)).str().equals(StringView("-1234"))); |
| EXPECT_TRUE( |
| integer_to_string(int32_t(-12345)).str().equals(StringView("-12345"))); |
| EXPECT_TRUE( |
| integer_to_string(int32_t(-123456)).str().equals(StringView("-123456"))); |
| EXPECT_TRUE(integer_to_string(int32_t(-1234567)) |
| .str() |
| .equals(StringView("-1234567"))); |
| EXPECT_TRUE(integer_to_string(int32_t(-12345678)) |
| .str() |
| .equals(StringView("-12345678"))); |
| EXPECT_TRUE(integer_to_string(int32_t(-123456789)) |
| .str() |
| .equals(StringView("-123456789"))); |
| EXPECT_TRUE(integer_to_string(int32_t(-1234567890)) |
| .str() |
| .equals(StringView("-1234567890"))); |
| EXPECT_TRUE(integer_to_string(int32_t(INT32_MAX)) |
| .str() |
| .equals(StringView("2147483647"))); |
| EXPECT_TRUE(integer_to_string(int32_t(INT32_MIN)) |
| .str() |
| .equals(StringView("-2147483648"))); |
| } |
| |
| TEST(LlvmLibcIntegerToStringTest, UINT64) { |
| EXPECT_TRUE(integer_to_string(uint64_t(0)).str().equals(StringView("0"))); |
| EXPECT_TRUE(integer_to_string(uint64_t(1)).str().equals(StringView("1"))); |
| EXPECT_TRUE(integer_to_string(uint64_t(12)).str().equals(StringView("12"))); |
| EXPECT_TRUE(integer_to_string(uint64_t(123)).str().equals(StringView("123"))); |
| EXPECT_TRUE( |
| integer_to_string(uint64_t(1234)).str().equals(StringView("1234"))); |
| EXPECT_TRUE( |
| integer_to_string(uint64_t(12345)).str().equals(StringView("12345"))); |
| EXPECT_TRUE( |
| integer_to_string(uint64_t(123456)).str().equals(StringView("123456"))); |
| EXPECT_TRUE( |
| integer_to_string(uint64_t(1234567)).str().equals(StringView("1234567"))); |
| EXPECT_TRUE(integer_to_string(uint64_t(12345678)) |
| .str() |
| .equals(StringView("12345678"))); |
| EXPECT_TRUE(integer_to_string(uint64_t(123456789)) |
| .str() |
| .equals(StringView("123456789"))); |
| EXPECT_TRUE(integer_to_string(uint64_t(1234567890)) |
| .str() |
| .equals(StringView("1234567890"))); |
| EXPECT_TRUE(integer_to_string(uint64_t(1234567890123456789)) |
| .str() |
| .equals(StringView("1234567890123456789"))); |
| EXPECT_TRUE(integer_to_string(uint64_t(UINT64_MAX)) |
| .str() |
| .equals(StringView("18446744073709551615"))); |
| EXPECT_TRUE(integer_to_string(uint64_t(-1)) |
| .str() |
| .equals(StringView("18446744073709551615"))); |
| } |
| |
| TEST(LlvmLibcIntegerToStringTest, INT64) { |
| EXPECT_TRUE(integer_to_string(int64_t(0)).str().equals(StringView("0"))); |
| EXPECT_TRUE(integer_to_string(int64_t(1)).str().equals(StringView("1"))); |
| EXPECT_TRUE(integer_to_string(int64_t(12)).str().equals(StringView("12"))); |
| EXPECT_TRUE(integer_to_string(int64_t(123)).str().equals(StringView("123"))); |
| EXPECT_TRUE( |
| integer_to_string(int64_t(1234)).str().equals(StringView("1234"))); |
| EXPECT_TRUE( |
| integer_to_string(int64_t(12345)).str().equals(StringView("12345"))); |
| EXPECT_TRUE( |
| integer_to_string(int64_t(123456)).str().equals(StringView("123456"))); |
| EXPECT_TRUE( |
| integer_to_string(int64_t(1234567)).str().equals(StringView("1234567"))); |
| EXPECT_TRUE(integer_to_string(int64_t(12345678)) |
| .str() |
| .equals(StringView("12345678"))); |
| EXPECT_TRUE(integer_to_string(int64_t(123456789)) |
| .str() |
| .equals(StringView("123456789"))); |
| EXPECT_TRUE(integer_to_string(int64_t(1234567890)) |
| .str() |
| .equals(StringView("1234567890"))); |
| EXPECT_TRUE(integer_to_string(int64_t(1234567890123456789)) |
| .str() |
| .equals(StringView("1234567890123456789"))); |
| EXPECT_TRUE(integer_to_string(int64_t(-1)).str().equals(StringView("-1"))); |
| EXPECT_TRUE(integer_to_string(int64_t(-12)).str().equals(StringView("-12"))); |
| EXPECT_TRUE( |
| integer_to_string(int64_t(-123)).str().equals(StringView("-123"))); |
| EXPECT_TRUE( |
| integer_to_string(int64_t(-1234)).str().equals(StringView("-1234"))); |
| EXPECT_TRUE( |
| integer_to_string(int64_t(-12345)).str().equals(StringView("-12345"))); |
| EXPECT_TRUE( |
| integer_to_string(int64_t(-123456)).str().equals(StringView("-123456"))); |
| EXPECT_TRUE(integer_to_string(int64_t(-1234567)) |
| .str() |
| .equals(StringView("-1234567"))); |
| EXPECT_TRUE(integer_to_string(int64_t(-12345678)) |
| .str() |
| .equals(StringView("-12345678"))); |
| EXPECT_TRUE(integer_to_string(int64_t(-123456789)) |
| .str() |
| .equals(StringView("-123456789"))); |
| EXPECT_TRUE(integer_to_string(int64_t(-1234567890)) |
| .str() |
| .equals(StringView("-1234567890"))); |
| EXPECT_TRUE(integer_to_string(int64_t(-1234567890123456789)) |
| .str() |
| .equals(StringView("-1234567890123456789"))); |
| EXPECT_TRUE(integer_to_string(int64_t(INT64_MAX)) |
| .str() |
| .equals(StringView("9223372036854775807"))); |
| EXPECT_TRUE(integer_to_string(int64_t(INT64_MIN)) |
| .str() |
| .equals(StringView("-9223372036854775808"))); |
| } |