ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/test/jtreg/util/PriorityQueue/PriorityQueueSort.java
(Generate patch)

Comparing jsr166/src/test/jtreg/util/PriorityQueue/PriorityQueueSort.java (file contents):
Revision 1.1 by dl, Wed Aug 27 13:42:53 2003 UTC vs.
Revision 1.12 by jsr166, Wed Jan 4 04:46:19 2017 UTC

# Line 1 | Line 1
1   /*
2 + * Written by Doug Lea with assistance from members of JCP JSR-166
3 + * Expert Group and released to the public domain, as explained at
4 + * http://creativecommons.org/publicdomain/zero/1.0/
5 + */
6 +
7 + /*
8   * @test
9 < * @synopsis Checks that a priority queue returns elements in sorted order across various operations
9 > * @bug 4486658
10 > * @summary Checks that a priority queue returns elements in sorted order across various operations
11   */
12  
13 < import java.util.*;
13 > import java.util.ArrayList;
14 > import java.util.Collections;
15 > import java.util.Comparator;
16 > import java.util.Iterator;
17 > import java.util.List;
18 > import java.util.Queue;
19 > import java.util.PriorityQueue;
20  
21   public class PriorityQueueSort {
22  
23 <    static class MyComparator implements Comparator<Integer> {
23 >    static class MyComparator implements Comparator<Integer> {
24          public int compare(Integer x, Integer y) {
25 <            int i = ((Integer)x).intValue();
26 <            int j = ((Integer)y).intValue();
25 >            int i = x.intValue();
26 >            int j = y.intValue();
27              if (i < j) return -1;
28              if (i > j) return 1;
29              return 0;
# Line 21 | Line 34 | public class PriorityQueueSort {
34          int n = 10000;
35          if (args.length > 0)
36              n = Integer.parseInt(args[0]);
37 <        
38 <        List<Integer> sorted = new ArrayList<Integer>(n);
37 >
38 >        List<Integer> sorted = new ArrayList<>(n);
39          for (int i = 0; i < n; i++)
40              sorted.add(new Integer(i));
41 <        List<Integer> shuffled = new ArrayList<Integer>(sorted);
41 >        List<Integer> shuffled = new ArrayList<>(sorted);
42          Collections.shuffle(shuffled);
43  
44 <        Queue<Integer> pq = new PriorityQueue<Integer>(n, new MyComparator());
44 >        Queue<Integer> pq = new PriorityQueue<>(n, new MyComparator());
45          for (Iterator<Integer> i = shuffled.iterator(); i.hasNext(); )
46              pq.add(i.next());
47  
48 <        List<Integer> recons = new ArrayList<Integer>();
48 >        List<Integer> recons = new ArrayList<>();
49          while (!pq.isEmpty())
50              recons.add(pq.remove());
51          if (!recons.equals(sorted))
52              throw new RuntimeException("Sort test failed");
53  
54          recons.clear();
55 <        pq = new PriorityQueue<Integer>(shuffled);
55 >        pq = new PriorityQueue<>(shuffled);
56          while (!pq.isEmpty())
57              recons.add(pq.remove());
58          if (!recons.equals(sorted))
59              throw new RuntimeException("Sort test failed");
60  
61          // Remove all odd elements from queue
62 <        pq = new PriorityQueue<Integer>(shuffled);
62 >        pq = new PriorityQueue<>(shuffled);
63          for (Iterator<Integer> i = pq.iterator(); i.hasNext(); )
64              if ((i.next().intValue() & 1) == 1)
65                  i.remove();
# Line 62 | Line 75 | public class PriorityQueueSort {
75              throw new RuntimeException("Iterator remove test failed.");
76      }
77   }
65

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines