3030import static org .junit .Assert .*;
3131import static org .spine3 .protobuf .Timestamps .MILLIS_PER_SECOND ;
3232import static org .spine3 .protobuf .Timestamps .convertToDate ;
33+ import static org .spine3 .protobuf .Timestamps .convertToNanos ;
3334import static org .spine3 .test .Tests .hasPrivateUtilityConstructor ;
3435
3536@ SuppressWarnings ("InstanceMethodNamingConvention" )
3637public class TimestampsShould {
3738
39+ private static final int NANOS_IN_SECOND = 1000000000 ;
40+
3841 private static final Duration TEN_SECONDS = Durations .ofSeconds (10 );
3942
4043 private static final Duration MINUTE = Durations .ofMinutes (1 );
@@ -77,8 +80,14 @@ public void compare_two_timestamps_return_negative_int_if_first_is_null() {
7780 public void compare_two_timestamps_return_zero_if_timestamps_are_equal () {
7881 final int secs = 256 ;
7982 final int nanos = 512 ;
80- final Timestamp time1 = Timestamp .newBuilder ().setSeconds (secs ).setNanos (nanos ).build ();
81- final Timestamp time2 = Timestamp .newBuilder ().setSeconds (secs ).setNanos (nanos ).build ();
83+ final Timestamp time1 = Timestamp .newBuilder ()
84+ .setSeconds (secs )
85+ .setNanos (nanos )
86+ .build ();
87+ final Timestamp time2 = Timestamp .newBuilder ()
88+ .setSeconds (secs )
89+ .setNanos (nanos )
90+ .build ();
8291
8392 final int result = Timestamps .compare (time1 , time2 );
8493
@@ -158,7 +167,8 @@ public void compare_two_timestamps_using_comparator_return_negative_int_if_first
158167 final Timestamp time1 = getCurrentTime ();
159168 final Timestamp time2 = add (time1 , TEN_SECONDS );
160169
161- final int result = Timestamps .comparator ().compare (time1 , time2 );
170+ final int result = Timestamps .comparator ()
171+ .compare (time1 , time2 );
162172
163173 assertTrue (result < 0 );
164174 }
@@ -167,10 +177,17 @@ public void compare_two_timestamps_using_comparator_return_negative_int_if_first
167177 public void compare_two_timestamps_using_comparator_return_zero_if_timestamps_are_equal () {
168178 final int secs = 256 ;
169179 final int nanos = 512 ;
170- final Timestamp time1 = Timestamp .newBuilder ().setSeconds (secs ).setNanos (nanos ).build ();
171- final Timestamp time2 = Timestamp .newBuilder ().setSeconds (secs ).setNanos (nanos ).build ();
172-
173- final int result = Timestamps .comparator ().compare (time1 , time2 );
180+ final Timestamp time1 = Timestamp .newBuilder ()
181+ .setSeconds (secs )
182+ .setNanos (nanos )
183+ .build ();
184+ final Timestamp time2 = Timestamp .newBuilder ()
185+ .setSeconds (secs )
186+ .setNanos (nanos )
187+ .build ();
188+
189+ final int result = Timestamps .comparator ()
190+ .compare (time1 , time2 );
174191
175192 assertEquals (0 , result );
176193 }
@@ -180,7 +197,8 @@ public void compare_two_timestamps_using_comparator_return_positive_int_if_first
180197 final Timestamp currentTime = getCurrentTime ();
181198 final Timestamp timeAfterCurrent = add (currentTime , TEN_SECONDS );
182199
183- final int result = Timestamps .comparator ().compare (timeAfterCurrent , currentTime );
200+ final int result = Timestamps .comparator ()
201+ .compare (timeAfterCurrent , currentTime );
184202
185203 assertTrue (result > 0 );
186204 }
@@ -195,4 +213,14 @@ public void convert_timestamp_to_date_to_nearest_second() {
195213
196214 assertEquals (expectedTime .getSeconds (), actualSeconds );
197215 }
216+
217+ @ Test
218+ public void convert_timestamp_to_nanos () {
219+ final Timestamp expectedTime = getCurrentTime ();
220+
221+ final long nanos = convertToNanos (expectedTime );
222+ final long expectedNanos = expectedTime .getSeconds () * NANOS_IN_SECOND + expectedTime .getNanos ();
223+
224+ assertEquals (expectedNanos , nanos );
225+ }
198226}
0 commit comments