21
21
import java .time .Month ;
22
22
import java .time .ZoneId ;
23
23
import java .time .ZonedDateTime ;
24
+ import java .time .temporal .ChronoUnit ;
24
25
import java .util .ArrayList ;
25
26
import java .util .Arrays ;
26
27
import java .util .Currency ;
@@ -604,14 +605,14 @@ public void testLocalDateTimeArray(boolean sparse) {
604
605
array .setValue (i , value );
605
606
}
606
607
for (int i =0 ; i <values .length ; ++i ) {
607
- final LocalDateTime v1 = values [i ];
608
+ final LocalDateTime v1 = values [i ]. truncatedTo ( ChronoUnit . MILLIS ) ;
608
609
final LocalDateTime v2 = array .getValue (i );
609
610
Assert .assertEquals (v1 , v2 , "Values match at " + i );
610
611
}
611
612
array .expand (200 );
612
613
Assert .assertEquals (array .length (), 200 , "The array was expanded" );
613
614
for (int i =0 ; i <values .length ; ++i ) {
614
- final LocalDateTime v1 = values [i ];
615
+ final LocalDateTime v1 = values [i ]. truncatedTo ( ChronoUnit . MILLIS ) ;
615
616
final LocalDateTime v2 = array .getValue (i );
616
617
Assert .assertEquals (v1 , v2 , "Values match at " + i );
617
618
}
@@ -625,7 +626,7 @@ public void testLocalDateTimeArray(boolean sparse) {
625
626
array .setValue (i , value );
626
627
}
627
628
for (int i =100 ; i <200 ; ++i ) {
628
- final LocalDateTime v1 = values [i -100 ];
629
+ final LocalDateTime v1 = values [i -100 ]. truncatedTo ( ChronoUnit . MILLIS ) ;
629
630
final LocalDateTime v2 = array .getValue (i );
630
631
Assert .assertEquals (v1 , v2 , "Values match at " + i );
631
632
}
@@ -650,14 +651,14 @@ public void testZonedDateTimeArray(boolean sparse) {
650
651
array .setValue (i , value );
651
652
}
652
653
for (int i =0 ; i <values .length ; ++i ) {
653
- final ZonedDateTime v1 = values [i ];
654
+ final ZonedDateTime v1 = values [i ]. truncatedTo ( ChronoUnit . MILLIS ) ;
654
655
final ZonedDateTime v2 = array .getValue (i );
655
656
Assert .assertEquals (v1 , v2 , "Values match at " + i );
656
657
}
657
658
array .expand (200 );
658
659
Assert .assertEquals (array .length (), 200 , "The array was expanded" );
659
660
for (int i =0 ; i <values .length ; ++i ) {
660
- final ZonedDateTime v1 = values [i ];
661
+ final ZonedDateTime v1 = values [i ]. truncatedTo ( ChronoUnit . MILLIS ) ;
661
662
final ZonedDateTime v2 = array .getValue (i );
662
663
Assert .assertEquals (v1 , v2 , "Values match at " + i );
663
664
}
@@ -672,7 +673,7 @@ public void testZonedDateTimeArray(boolean sparse) {
672
673
array .setValue (i , value );
673
674
}
674
675
for (int i =100 ; i <200 ; ++i ) {
675
- final ZonedDateTime v1 = values [i -100 ];
676
+ final ZonedDateTime v1 = values [i -100 ]. truncatedTo ( ChronoUnit . MILLIS ) ;
676
677
final ZonedDateTime v2 = array .getValue (i );
677
678
Assert .assertEquals (v1 , v2 , "Values match at " + i );
678
679
}
@@ -818,13 +819,15 @@ public <T> void testFill(Class<T> type, ArrayStyle style) {
818
819
T value = (T )LocalDateTime .now ();
819
820
array .fill (value );
820
821
for (int i =0 ; i <array .length (); ++i ) {
821
- Assert .assertEquals (array .getValue (i ), value , "Values match at " + i );
822
+ LocalDateTime formattedValue = ((LocalDateTime ) value ).truncatedTo (ChronoUnit .MILLIS );
823
+ Assert .assertEquals (array .getValue (i ), formattedValue , "Values match at " + i );
822
824
}
823
825
} else if (array .typeCode () == ArrayType .ZONED_DATETIME ) {
824
826
T value = (T )ZonedDateTime .now ();
825
827
array .fill (value );
826
828
for (int i =0 ; i <array .length (); ++i ) {
827
- Assert .assertEquals (array .getValue (i ), value , "Values match at " + i );
829
+ ZonedDateTime formattedValue = ((ZonedDateTime ) value ).truncatedTo (ChronoUnit .MILLIS );
830
+ Assert .assertEquals (array .getValue (i ), formattedValue , "Values match at " + i );
828
831
}
829
832
} else if (array .typeCode () == ArrayType .OBJECT ) {
830
833
T value = (T )new Double (7d );
@@ -968,12 +971,12 @@ public <T> void testFirstAndLast(Class<T> type, ArrayStyle style) {
968
971
assertFirstAndLast (array , values , arrayType );
969
972
} else if (arrayType == ArrayType .LOCAL_DATETIME ) {
970
973
final LocalDateTime [] values = new LocalDateTime [1000 ];
971
- for (int i =0 ; i <values .length ; ++i ) values [i ] = LocalDateTime .now ().plusSeconds (i );
974
+ for (int i =0 ; i <values .length ; ++i ) values [i ] = LocalDateTime .now ().plusSeconds (i ). truncatedTo ( ChronoUnit . MILLIS ) ;
972
975
final Array <LocalDateTime > array = Array .of ((Class <LocalDateTime >)type , values .length , null , style ).applyValues (v -> values [v .index ()]);
973
976
assertFirstAndLast (array , values , arrayType );
974
977
} else if (arrayType == ArrayType .ZONED_DATETIME ) {
975
978
final ZonedDateTime [] values = new ZonedDateTime [1000 ];
976
- for (int i =0 ; i <values .length ; ++i ) values [i ] = ZonedDateTime .now ().plusSeconds (i );
979
+ for (int i =0 ; i <values .length ; ++i ) values [i ] = ZonedDateTime .now ().plusSeconds (i ). truncatedTo ( ChronoUnit . MILLIS ) ;
977
980
final Array <ZonedDateTime > array = Array .of ((Class <ZonedDateTime >)type , values .length , null , style ).applyValues (v -> values [v .index ()]);
978
981
assertFirstAndLast (array , values , arrayType );
979
982
} else if (arrayType == ArrayType .OBJECT ) {
0 commit comments