| 525 | } |
| 526 | |
| 527 | void IcebergBucketPartitionTransformTests::TestDate() { |
| 528 | IntVal ret_val = IcebergFunctions::BucketPartitionTransform(nullptr, |
| 529 | DateValue(2017, 11, 16).ToDateVal(), 5000); |
| 530 | EXPECT_EQ(3226, ret_val.val); |
| 531 | |
| 532 | ret_val = IcebergFunctions::BucketPartitionTransform(nullptr, |
| 533 | DateValue(2017, 11, 16).ToDateVal(), 150); |
| 534 | EXPECT_EQ(76, ret_val.val); |
| 535 | |
| 536 | // Test for values pre 1970. |
| 537 | ret_val = IcebergFunctions::BucketPartitionTransform(nullptr, |
| 538 | DateValue(1901, 12, 5).ToDateVal(), 30); |
| 539 | EXPECT_EQ(13, ret_val.val); |
| 540 | |
| 541 | ret_val = IcebergFunctions::BucketPartitionTransform(nullptr, |
| 542 | DateValue(50, 3, 11).ToDateVal(), 1900); |
| 543 | EXPECT_EQ(1539, ret_val.val); |
| 544 | |
| 545 | // Check for null input. |
| 546 | ret_val = IcebergFunctions::BucketPartitionTransform(nullptr, DateVal::null(), 1); |
| 547 | EXPECT_TRUE(ret_val.is_null); |
| 548 | |
| 549 | TestIncorrectWidthParameter<DateVal>(DateVal(0)); |
| 550 | } |
| 551 | |
| 552 | void IcebergBucketPartitionTransformTests::TestTimestamp() { |
| 553 | TimestampVal tv; |