aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/timezone_conversion/ut/civil_ut.cpp
diff options
context:
space:
mode:
authormoroznastya <moroznastya@yandex-team.com>2023-12-05 21:56:41 +0300
committermoroznastya <moroznastya@yandex-team.com>2023-12-05 22:39:17 +0300
commitfaf9f5de6a6799aa2e80c7e8077ceca4670daa4f (patch)
treea11ceb11c82442398934e3771b488361e0729412 /library/cpp/timezone_conversion/ut/civil_ut.cpp
parentca072a4c932bc2df166fb17f03eb2481c43f948d (diff)
downloadydb-faf9f5de6a6799aa2e80c7e8077ceca4670daa4f.tar.gz
parsing promos
Diffstat (limited to 'library/cpp/timezone_conversion/ut/civil_ut.cpp')
-rw-r--r--library/cpp/timezone_conversion/ut/civil_ut.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/library/cpp/timezone_conversion/ut/civil_ut.cpp b/library/cpp/timezone_conversion/ut/civil_ut.cpp
index a21bd4bd7d..f91935ac49 100644
--- a/library/cpp/timezone_conversion/ut/civil_ut.cpp
+++ b/library/cpp/timezone_conversion/ut/civil_ut.cpp
@@ -66,6 +66,27 @@ Y_UNIT_TEST_SUITE(DateTime) {
UNIT_ASSERT_EXCEPTION(NDatetime::GetTimeZone("UTC+20:60"), NDatetime::TInvalidTimezone);
UNIT_ASSERT_EXCEPTION(NDatetime::GetTimeZone("UTC+20:30:"), NDatetime::TInvalidTimezone);
}
+ Y_UNIT_TEST(ParseOffset) {
+ int offset;
+ UNIT_ASSERT(!NDatetime::TryParseOffset("Unknown", offset));
+ UNIT_ASSERT(!NDatetime::TryParseOffset("+:", offset));
+ UNIT_ASSERT(!NDatetime::TryParseOffset("+24:01", offset));
+ UNIT_ASSERT(!NDatetime::TryParseOffset("+20:", offset));
+ UNIT_ASSERT(!NDatetime::TryParseOffset("+20:60", offset));
+ UNIT_ASSERT(!NDatetime::TryParseOffset("+20:30:", offset));
+ UNIT_ASSERT(NDatetime::TryParseOffset("+03", offset));
+ UNIT_ASSERT_VALUES_EQUAL(offset, 10800);
+ UNIT_ASSERT(NDatetime::TryParseOffset("-10", offset));
+ UNIT_ASSERT_VALUES_EQUAL(offset, -36000);
+ UNIT_ASSERT(NDatetime::TryParseOffset("+01:00", offset));
+ UNIT_ASSERT_VALUES_EQUAL(offset, 3600);
+ UNIT_ASSERT(NDatetime::TryParseOffset("-11:30", offset));
+ UNIT_ASSERT_VALUES_EQUAL(offset, -41400);
+ UNIT_ASSERT(NDatetime::TryParseOffset("+0130", offset));
+ UNIT_ASSERT_VALUES_EQUAL(offset, 5400);
+ UNIT_ASSERT(NDatetime::TryParseOffset("-0200", offset));
+ UNIT_ASSERT_VALUES_EQUAL(offset, -7200);
+ }
Y_UNIT_TEST(Format) {
NDatetime::TTimeZone lax = NDatetime::GetTimeZone("America/Los_Angeles");
NDatetime::TCivilSecond tp(2013, 1, 2, 3, 4, 5);