diff options
author | babenko <babenko@yandex-team.com> | 2022-08-26 10:04:55 +0300 |
---|---|---|
committer | babenko <babenko@yandex-team.com> | 2022-08-26 10:04:55 +0300 |
commit | af6b0b93037268a9ca1343dd09629cf910c944d9 (patch) | |
tree | 609b08bbb2cd7498d55b6f7a92aaf1a4d51d003c /library/cpp/yt/string/unittests/format_ut.cpp | |
parent | d40e0a72d30643f29b6fe0dee30d6d686f563e3f (diff) | |
download | ydb-af6b0b93037268a9ca1343dd09629cf910c944d9.tar.gz |
Natively support %x and %X in Format
Diffstat (limited to 'library/cpp/yt/string/unittests/format_ut.cpp')
-rw-r--r-- | library/cpp/yt/string/unittests/format_ut.cpp | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/library/cpp/yt/string/unittests/format_ut.cpp b/library/cpp/yt/string/unittests/format_ut.cpp index ee069bb2c0..20ec6392b5 100644 --- a/library/cpp/yt/string/unittests/format_ut.cpp +++ b/library/cpp/yt/string/unittests/format_ut.cpp @@ -74,7 +74,7 @@ TEST(TFormatTest, Strings) EXPECT_EQ(100, std::ssize(Format("%100v", "abc"))); } -TEST(TFormatTest, Integers) +TEST(TFormatTest, DecIntegers) { EXPECT_EQ("123", Format("%d", 123)); EXPECT_EQ("123", Format("%v", 123)); @@ -101,6 +101,28 @@ TEST(TFormatTest, Integers) EXPECT_EQ("18446744073709551615", Format("%v", std::numeric_limits<ui64>::max())); } +TEST(TFormatTest, HexIntegers) +{ + EXPECT_EQ("7b", Format("%x", 123)); + EXPECT_EQ("7B", Format("%X", 123)); + + EXPECT_EQ("02a", Format("%03x", 42)); + EXPECT_EQ("2a", Format("%01x", 42)); + + EXPECT_EQ("7fffffff", Format("%x", std::numeric_limits<i32>::max())); + EXPECT_EQ("-80000000", Format("%x", std::numeric_limits<i32>::min())); + + EXPECT_EQ("0", Format("%x", 0U)); + EXPECT_EQ("0", Format("%X", 0U)); + EXPECT_EQ("ffffffff", Format("%x", std::numeric_limits<ui32>::max())); + + EXPECT_EQ("7fffffffffffffff", Format("%x", std::numeric_limits<i64>::max())); + EXPECT_EQ("-8000000000000000", Format("%x", std::numeric_limits<i64>::min())); + + EXPECT_EQ("0", Format("%x", 0ULL)); + EXPECT_EQ("ffffffffffffffff", Format("%x", std::numeric_limits<ui64>::max())); +} + TEST(TFormatTest, Floats) { EXPECT_EQ("3.14", Format("%.2f", 3.1415F)); |