@@ -26,12 +26,27 @@ public void encodeDate_ShouldWorkProperly() {
26
26
DateColumn column = DateColumn .of ("date" , LocalDate .of (2023 , 10 , 1 ));
27
27
28
28
// Act
29
- long encoded = TimeRelatedColumnEncodingUtils .encode (column );
29
+ int encoded = TimeRelatedColumnEncodingUtils .encode (column );
30
30
31
31
// Assert
32
32
assertThat (encoded ).isEqualTo (LocalDate .of (2023 , 10 , 1 ).toEpochDay ());
33
33
}
34
34
35
+ @ Test
36
+ public void encodeThenDecodeDate_ShouldPreserveDataIntegrity () {
37
+ // Arrange
38
+ DateColumn min = DateColumn .of ("date" , DateColumn .MIN_VALUE );
39
+ DateColumn max = DateColumn .of ("date" , DateColumn .MAX_VALUE );
40
+
41
+ // Act Assert
42
+ assertThat (
43
+ TimeRelatedColumnEncodingUtils .decodeDate (TimeRelatedColumnEncodingUtils .encode (min )))
44
+ .isEqualTo (min .getDateValue ());
45
+ assertThat (
46
+ TimeRelatedColumnEncodingUtils .decodeDate (TimeRelatedColumnEncodingUtils .encode (max )))
47
+ .isEqualTo (max .getDateValue ());
48
+ }
49
+
35
50
@ Test
36
51
public void encodeTime_ShouldWorkProperly () {
37
52
// Arrange
@@ -44,6 +59,21 @@ public void encodeTime_ShouldWorkProperly() {
44
59
assertThat (encoded ).isEqualTo (LocalTime .of (12 , 34 , 56 , 123_456_000 ).toNanoOfDay ());
45
60
}
46
61
62
+ @ Test
63
+ public void encodeThenDecodeTime_ShouldPreserveDataIntegrity () {
64
+ // Arrange
65
+ TimeColumn min = TimeColumn .of ("time" , TimeColumn .MIN_VALUE );
66
+ TimeColumn max = TimeColumn .of ("time" , TimeColumn .MAX_VALUE );
67
+
68
+ // Act Assert
69
+ assertThat (
70
+ TimeRelatedColumnEncodingUtils .decodeTime (TimeRelatedColumnEncodingUtils .encode (min )))
71
+ .isEqualTo (min .getTimeValue ());
72
+ assertThat (
73
+ TimeRelatedColumnEncodingUtils .decodeTime (TimeRelatedColumnEncodingUtils .encode (max )))
74
+ .isEqualTo (max .getTimeValue ());
75
+ }
76
+
47
77
@ Test
48
78
public void encodeTimestamp_ShouldWorkProperly () {
49
79
// Arrange
@@ -124,7 +154,7 @@ public void encodeTimestampTZ_ShouldWorkProperly() {
124
154
public void decodeDate_ShouldWorkProperly () {
125
155
// Arrange Act
126
156
LocalDate date =
127
- TimeRelatedColumnEncodingUtils .decodeDate (LocalDate .of (2023 , 10 , 1 ).toEpochDay ());
157
+ TimeRelatedColumnEncodingUtils .decodeDate (( int ) LocalDate .of (2023 , 10 , 1 ).toEpochDay ());
128
158
129
159
// Assert
130
160
assertThat (date ).isEqualTo (LocalDate .of (2023 , 10 , 1 ));
0 commit comments