ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/test/tck/SystemTest.java
Revision: 1.1
Committed: Sun Aug 31 19:24:55 2003 UTC (20 years, 8 months ago) by dl
Branch: MAIN
Log Message:
First check-in of tests to be in tck

File Contents

# Content
1 /*
2 * Written by members of JCP JSR-166 Expert Group and released to the
3 * public domain. Use, modify, and redistribute this code in any way
4 * without acknowledgement. Other contributors include Andrew Wright,
5 * Jeffrey Hayes, Pat Fischer, Mike Judd.
6 */
7
8 import junit.framework.*;
9
10 public class SystemTest extends TestCase {
11 public static void main(String[] args) {
12 junit.textui.TestRunner.run(suite());
13 }
14
15 public static Test suite() {
16 return new TestSuite(SystemTest.class);
17 }
18
19 public void testNanoTime1() {
20 // Nanos between readings of millis must be no longer than millis
21 long m1 = System.currentTimeMillis();
22 long n1 = System.nanoTime();
23
24 // Ensure some computation that is not optimized away.
25 long sum = 0;
26 for (long i = 1; i < 10000; ++i)
27 sum += i;
28 assertTrue(sum != 0);
29
30 long n2 = System.nanoTime();
31
32 for (long i = 1; i < 10000; ++i)
33 sum -= i;
34 assertTrue(sum == 0);
35
36 long m2 = System.currentTimeMillis();
37 long millis = m2 - m1;
38 long nanos = n2 - n1;
39
40 assertTrue(nanos >= 0);
41 assertTrue(nanos <= millis * 1000000);
42 }
43
44 public void testNanoTime2() {
45 // Millis between readings of nanos must be no longer than nanos
46 long n1 = System.nanoTime();
47 long m1 = System.currentTimeMillis();
48
49 // Ensure some computation that is not optimized away.
50 long sum = 0;
51 for (long i = 1; i < 10000; ++i)
52 sum += i;
53 assertTrue(sum != 0);
54
55 long m2 = System.currentTimeMillis();
56
57 for (long i = 1; i < 10000; ++i)
58 sum -= i;
59 assertTrue(sum == 0);
60
61 long n2 = System.nanoTime();
62
63 long millis = m2 - m1;
64 long nanos = n2 - n1;
65
66 assertTrue(nanos >= 0);
67 assertTrue(millis * 1000000 <= nanos);
68 }
69
70 }
71