| 2396 | } |
| 2397 | |
| 2398 | TEST_F(CastTimezone, ZonedTimestampToDate) { |
| 2399 | { |
| 2400 | // See TestZoned in scalar_temporal_test.cc |
| 2401 | auto timestamps = |
| 2402 | ArrayFromJSON(timestamp(TimeUnit::NANO, "Pacific/Marquesas"), kTimestampJson); |
| 2403 | auto date_32 = ArrayFromJSON(date32(), |
| 2404 | R"([ |
| 2405 | -1, 11016, -25933, 23147, |
| 2406 | 18261, 18260, 18259, 14608, |
| 2407 | 14609, 14611, 14612, 13148, |
| 2408 | 13148, 14240, 14241, 15339, null |
| 2409 | ])"); |
| 2410 | auto date_64 = ArrayFromJSON(date64(), R"([ |
| 2411 | -86400000, 951782400000, -2240611200000, 1999900800000, |
| 2412 | 1577750400000, 1577664000000, 1577577600000, 1262131200000, |
| 2413 | 1262217600000, 1262390400000, 1262476800000, 1135987200000, |
| 2414 | 1135987200000, 1230336000000, 1230422400000, 1325289600000, null |
| 2415 | ])"); |
| 2416 | CheckCast(timestamps, date_32); |
| 2417 | CheckCast(timestamps, date_64); |
| 2418 | } |
| 2419 | |
| 2420 | auto date_32 = ArrayFromJSON(date32(), R"([ |
| 2421 | 0, 11017, -25932, 23148, |
| 2422 | 18262, 18261, 18260, 14609, |
| 2423 | 14610, 14612, 14613, 13149, |
| 2424 | 13148, 14241, 14242, 15340, null |
| 2425 | ])"); |
| 2426 | auto date_64 = ArrayFromJSON(date64(), R"([ |
| 2427 | 0, 951868800000, -2240524800000, 1999987200000, 1577836800000, |
| 2428 | 1577750400000, 1577664000000, 1262217600000, 1262304000000, |
| 2429 | 1262476800000, 1262563200000, 1136073600000, 1135987200000, |
| 2430 | 1230422400000, 1230508800000, 1325376000000, null |
| 2431 | ])"); |
| 2432 | |
| 2433 | for (auto u : TimeUnit::values()) { |
| 2434 | auto timestamps = |
| 2435 | ArrayFromJSON(timestamp(u, "Australia/Broken_Hill"), kTimestampSecondsJson); |
| 2436 | CheckCast(timestamps, date_32); |
| 2437 | CheckCast(timestamps, date_64); |
| 2438 | } |
| 2439 | |
| 2440 | // Invalid timezone |
| 2441 | for (auto u : TimeUnit::values()) { |
| 2442 | auto timestamps = |
| 2443 | ArrayFromJSON(timestamp(u, "Mars/Mariner_Valley"), kTimestampSecondsJson); |
| 2444 | CheckCastFails(timestamps, CastOptions::Unsafe(date32())); |
| 2445 | CheckCastFails(timestamps, CastOptions::Unsafe(date64())); |
| 2446 | } |
| 2447 | } |
| 2448 | |
| 2449 | TEST(Cast, TimestampToTime) { |
| 2450 | // See scalar_temporal_test.cc |
nothing calls this directly
no test coverage detected