31 package com.google.protobuf.util;
35 import java.text.ParseException;
36 import java.util.ArrayList;
37 import java.util.List;
38 import junit.framework.TestCase;
39 import org.junit.Assert;
47 assertEquals(0,
start.getNanos());
49 assertEquals(999999999,
end.getNanos());
54 assertEquals(0,
value.getSeconds());
55 assertEquals(0,
value.getNanos());
59 assertEquals(-1,
value.getSeconds());
61 assertEquals(999000000,
value.getNanos());
97 }
catch (ParseException e) {
104 "Actual result: " +
result.toString() +
", expected: " +
values[
index].toString();
113 String[] timestampStrings =
115 "0001-01-01T00:00:00Z",
116 "9999-12-31T23:59:59.999999999Z",
117 "1970-01-01T00:00:00Z",
118 "1969-12-31T23:59:59.999Z",
121 for (
int i = 0;
i < timestampStrings.length;
i++) {
125 final int THREAD_COUNT = 16;
126 final int RUNNING_TIME = 5000;
127 final List<Thread>
threads =
new ArrayList<Thread>();
131 for (
int i = 0;
i < THREAD_COUNT;
i++) {
136 Thread.sleep(RUNNING_TIME);
150 Assert.fail(
"Exception is expected.");
151 }
catch (IllegalArgumentException e) {
160 Assert.fail(
"Exception is expected.");
161 }
catch (IllegalArgumentException e) {
169 Assert.fail(
"Exception is expected.");
170 }
catch (IllegalArgumentException e) {
178 Assert.fail(
"Exception is expected.");
179 }
catch (IllegalArgumentException e) {
186 Assert.fail(
"Exception is expected.");
187 }
catch (ParseException e) {
194 Assert.fail(
"Exception is expected.");
195 }
catch (ParseException e) {
202 Assert.fail(
"Exception is expected.");
203 }
catch (ParseException e) {
210 Assert.fail(
"Exception is expected.");
211 }
catch (ParseException e) {
218 Assert.fail(
"Exception is expected.");
219 }
catch (ParseException e) {
226 Assert.fail(
"Exception is expected.");
227 }
catch (ParseException e) {
234 Assert.fail(
"Exception is expected.");
235 }
catch (ParseException e) {
249 duration =
Duration.newBuilder().setSeconds(1).build();
251 duration =
Duration.newBuilder().setNanos(10000000).build();
253 duration =
Duration.newBuilder().setNanos(10000).build();
255 duration =
Duration.newBuilder().setNanos(10).build();
261 assertEquals(100000000, duration.getNanos());
263 assertEquals(100000, duration.getNanos());
265 assertEquals(100, duration.getNanos());
270 assertEquals(315576000000
L, duration.getSeconds());
271 assertEquals(999999999, duration.getNanos());
273 assertEquals(-315576000000
L, duration.getSeconds());
274 assertEquals(-999999999, duration.getNanos());
282 Assert.fail(
"Exception is expected.");
283 }
catch (IllegalArgumentException e) {
291 Assert.fail(
"Exception is expected.");
292 }
catch (IllegalArgumentException e) {
300 Assert.fail(
"Exception is expected.");
301 }
catch (IllegalArgumentException e) {
309 Assert.fail(
"Exception is expected.");
310 }
catch (IllegalArgumentException e) {
317 Assert.fail(
"Exception is expected.");
318 }
catch (ParseException e) {
325 Assert.fail(
"Exception is expected.");
326 }
catch (ParseException e) {
333 Assert.fail(
"Exception is expected.");
334 }
catch (ParseException e) {
341 Assert.fail(
"Exception is expected.");
342 }
catch (ParseException e) {
349 Assert.fail(
"Exception is expected.");
350 }
catch (ParseException e) {
357 Assert.fail(
"Exception is expected.");
358 }
catch (ParseException e) {
369 assertEquals(
"1970-01-01T00:00:01.111111111Z",
TimeUtil.
toString(timestamp));
380 assertEquals(
"1969-12-31T23:59:59.111111111Z",
TimeUtil.
toString(timestamp));
433 Assert.fail(
"Exception is expected.");
434 }
catch (IllegalArgumentException e) {
442 Assert.fail(
"Exception is expected.");
443 }
catch (IllegalArgumentException e) {