Skip to content

Commit f090220

Browse files
committed
Add tests for to timestamp function
1 parent bf81503 commit f090220

2 files changed

Lines changed: 24 additions & 0 deletions

File tree

cpp/src/gandiva/precompiled/time_test.cc

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -748,48 +748,68 @@ TEST(TestTime, TestToTimestamp) {
748748
auto seconds = 0;
749749
EXPECT_EQ(ts, to_timestamp_int32(seconds));
750750
EXPECT_EQ(ts, to_timestamp_int64(seconds));
751+
EXPECT_EQ(ts, to_timestamp_float32(seconds));
752+
EXPECT_EQ(ts, to_timestamp_float64(seconds));
751753

752754
ts = StringToTimestamp("1970-01-01 00:00:01");
753755
seconds = 1;
754756
EXPECT_EQ(ts, to_timestamp_int32(seconds));
755757
EXPECT_EQ(ts, to_timestamp_int64(seconds));
758+
EXPECT_EQ(ts, to_timestamp_float32(seconds));
759+
EXPECT_EQ(ts, to_timestamp_float64(seconds));
756760

757761
ts = StringToTimestamp("1970-01-01 00:01:00");
758762
seconds = 60;
759763
EXPECT_EQ(ts, to_timestamp_int32(seconds));
760764
EXPECT_EQ(ts, to_timestamp_int64(seconds));
765+
EXPECT_EQ(ts, to_timestamp_float32(seconds));
766+
EXPECT_EQ(ts, to_timestamp_float64(seconds));
761767

762768
ts = StringToTimestamp("1970-01-01 01:00:00");
763769
seconds = 60 * 60;
764770
EXPECT_EQ(ts, to_timestamp_int32(seconds));
765771
EXPECT_EQ(ts, to_timestamp_int64(seconds));
772+
EXPECT_EQ(ts, to_timestamp_float32(seconds));
773+
EXPECT_EQ(ts, to_timestamp_float64(seconds));
766774

767775
ts = StringToTimestamp("1970-01-02 00:00:00");
768776
seconds = 24 * 60 * 60;
769777
EXPECT_EQ(ts, to_timestamp_int32(seconds));
770778
EXPECT_EQ(ts, to_timestamp_int64(seconds));
779+
EXPECT_EQ(ts, to_timestamp_float32(seconds));
780+
EXPECT_EQ(ts, to_timestamp_float64(seconds));
771781
}
772782

773783
TEST(TestTime, TestToTimeNumeric) {
774784
auto millis = 0;
775785
EXPECT_EQ(millis, to_time_int32(millis));
776786
EXPECT_EQ(millis, to_time_int64(millis));
787+
EXPECT_EQ(millis, to_time_float32(millis));
788+
EXPECT_EQ(millis, to_time_float64(millis));
777789

778790
millis = 1000;
779791
EXPECT_EQ(millis, to_time_int32(millis));
780792
EXPECT_EQ(millis, to_time_int64(millis));
793+
EXPECT_EQ(millis, to_time_float32(millis));
794+
EXPECT_EQ(millis, to_time_float64(millis));
781795

782796
millis = 600000;
783797
EXPECT_EQ(millis, to_time_int32(millis));
784798
EXPECT_EQ(millis, to_time_int64(millis));
799+
EXPECT_EQ(millis, to_time_float32(millis));
800+
EXPECT_EQ(millis, to_time_float64(millis));
785801

786802
millis = 360000;
787803
EXPECT_EQ(millis, to_time_int32(millis));
788804
EXPECT_EQ(millis, to_time_int64(millis));
805+
EXPECT_EQ(millis, to_time_float32(millis));
806+
EXPECT_EQ(millis, to_time_float64(millis));
789807

790808
millis = 86400000;
791809
EXPECT_EQ(millis, to_time_int32(millis));
792810
EXPECT_EQ(millis, to_time_int64(millis));
811+
EXPECT_EQ(millis, to_time_float32(millis));
812+
EXPECT_EQ(millis, to_time_float64(millis));
793813
}
794814

795815
} // namespace gandiva

cpp/src/gandiva/precompiled/types.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,13 @@ gdv_timestamp add_date64_int64(gdv_date64, gdv_int64);
101101

102102
gdv_timestamp to_timestamp_int32(gdv_int32);
103103
gdv_timestamp to_timestamp_int64(gdv_int64);
104+
gdv_timestamp to_timestamp_float32(gdv_float32);
105+
gdv_timestamp to_timestamp_float64(gdv_float64);
104106

105107
gdv_time32 to_time_int32(gdv_int32);
106108
gdv_time32 to_time_int64(gdv_int64);
109+
gdv_time32 to_time_float32(gdv_float32);
110+
gdv_time32 to_time_float64(gdv_float64);
107111

108112
gdv_int64 date_sub_timestamp_int32(gdv_timestamp, gdv_int32);
109113
gdv_int64 subtract_timestamp_int32(gdv_timestamp, gdv_int32);

0 commit comments

Comments
 (0)