@@ -32,7 +32,7 @@ public class OrderTest {
3232
3333 @ Test
3434 public void verifyOrder () {
35- Value [][] groups = new Value [65 ][];
35+ Value [][] groups = new Value [67 ][];
3636
3737 groups [0 ] = new Value [] {nullValue ()};
3838
@@ -42,83 +42,85 @@ public void verifyOrder() {
4242 // numbers
4343 groups [3 ] = new Value [] {doubleValue (Double .NaN ), doubleValue (Double .NaN )};
4444 groups [4 ] = new Value [] {doubleValue (Double .NEGATIVE_INFINITY )};
45- groups [5 ] = new Value [] {intValue ((long ) Integer .MIN_VALUE - 1 )};
46- groups [6 ] = new Value [] {intValue (Integer .MIN_VALUE )};
47- groups [7 ] = new Value [] {doubleValue (-1.1 )};
45+ groups [5 ] = new Value [] {doubleValue ((double ) Long .MIN_VALUE - 100 )};
46+ groups [6 ] = new Value [] {intValue ((long ) Integer .MIN_VALUE - 1 )};
47+ groups [7 ] = new Value [] {intValue (Integer .MIN_VALUE )};
48+ groups [8 ] = new Value [] {doubleValue (-1.1 )};
4849 // Integers and Doubles order the same.
49- groups [8 ] = new Value [] {intValue (-1 ), doubleValue (-1.0 )};
50- groups [9 ] = new Value [] {doubleValue (-Double .MIN_VALUE )};
50+ groups [9 ] = new Value [] {intValue (-1 ), doubleValue (-1.0 )};
51+ groups [10 ] = new Value [] {doubleValue (-Double .MIN_VALUE )};
5152 // zeros all compare the same.
52- groups [10 ] = new Value [] {intValue (0 ), doubleValue (-0.0 ), doubleValue (0.0 ), doubleValue (+0.0 )};
53- groups [11 ] = new Value [] {doubleValue (Double .MIN_VALUE )};
54- groups [12 ] = new Value [] {intValue (1 ), doubleValue (1.0 )};
55- groups [13 ] = new Value [] {doubleValue (1.1 )};
56- groups [14 ] = new Value [] {intValue (Integer .MAX_VALUE )};
57- groups [15 ] = new Value [] {intValue ((long ) Integer .MAX_VALUE + 1 )};
58- groups [16 ] = new Value [] {doubleValue (Double .POSITIVE_INFINITY )};
59-
60- groups [17 ] = new Value [] {timestampValue (123 , 0 )};
61- groups [18 ] = new Value [] {timestampValue (123 , 123 )};
62- groups [19 ] = new Value [] {timestampValue (345 , 0 )};
53+ groups [11 ] = new Value [] {intValue (0 ), doubleValue (-0.0 ), doubleValue (0.0 ), doubleValue (+0.0 )};
54+ groups [12 ] = new Value [] {doubleValue (Double .MIN_VALUE )};
55+ groups [13 ] = new Value [] {intValue (1 ), doubleValue (1.0 )};
56+ groups [14 ] = new Value [] {doubleValue (1.1 )};
57+ groups [15 ] = new Value [] {intValue (Integer .MAX_VALUE )};
58+ groups [16 ] = new Value [] {intValue ((long ) Integer .MAX_VALUE + 1 )};
59+ groups [17 ] = new Value [] {doubleValue (((double ) Long .MAX_VALUE ) + 100 )};
60+ groups [18 ] = new Value [] {doubleValue (Double .POSITIVE_INFINITY )};
61+
62+ groups [19 ] = new Value [] {timestampValue (123 , 0 )};
63+ groups [20 ] = new Value [] {timestampValue (123 , 123 )};
64+ groups [21 ] = new Value [] {timestampValue (345 , 0 )};
6365
6466 // strings
65- groups [20 ] = new Value [] {stringValue ("" )};
66- groups [21 ] = new Value [] {stringValue ("\u0000 \ud7ff \ue000 \uffff " )};
67- groups [22 ] = new Value [] {stringValue ("(╯°□°)╯︵ ┻━┻" )};
68- groups [23 ] = new Value [] {stringValue ("a" )};
69- groups [24 ] = new Value [] {stringValue ("abc def" )};
67+ groups [22 ] = new Value [] {stringValue ("" )};
68+ groups [23 ] = new Value [] {stringValue ("\u0000 \ud7ff \ue000 \uffff " )};
69+ groups [24 ] = new Value [] {stringValue ("(╯°□°)╯︵ ┻━┻" )};
70+ groups [25 ] = new Value [] {stringValue ("a" )};
71+ groups [26 ] = new Value [] {stringValue ("abc def" )};
7072 // latin small letter e + combining acute accent + latin small letter b
71- groups [25 ] = new Value [] {stringValue ("e\u0301 b" )};
72- groups [26 ] = new Value [] {stringValue ("æ" )};
73+ groups [27 ] = new Value [] {stringValue ("e\u0301 b" )};
74+ groups [28 ] = new Value [] {stringValue ("æ" )};
7375 // latin small letter e with acute accent + latin small letter a
74- groups [27 ] = new Value [] {stringValue ("\u00e9 a" )};
76+ groups [29 ] = new Value [] {stringValue ("\u00e9 a" )};
7577
7678 // blobs
77- groups [28 ] = new Value [] {blobValue (new byte [] {})};
78- groups [29 ] = new Value [] {blobValue (new byte [] {0 })};
79- groups [30 ] = new Value [] {blobValue (new byte [] {0 , 1 , 2 , 3 , 4 })};
80- groups [31 ] = new Value [] {blobValue (new byte [] {0 , 1 , 2 , 4 , 3 })};
81- groups [32 ] = new Value [] {blobValue (new byte [] {127 })};
79+ groups [30 ] = new Value [] {blobValue (new byte [] {})};
80+ groups [31 ] = new Value [] {blobValue (new byte [] {0 })};
81+ groups [32 ] = new Value [] {blobValue (new byte [] {0 , 1 , 2 , 3 , 4 })};
82+ groups [33 ] = new Value [] {blobValue (new byte [] {0 , 1 , 2 , 4 , 3 })};
83+ groups [34 ] = new Value [] {blobValue (new byte [] {127 })};
8284
8385 // resource names
84- groups [33 ] = new Value [] {referenceValue ("projects/p1/databases/d1/documents/c1/doc1" )};
85- groups [34 ] = new Value [] {referenceValue ("projects/p1/databases/d1/documents/c1/doc2" )};
86- groups [35 ] = new Value [] {referenceValue ("projects/p1/databases/d1/documents/c1/doc2/c2/doc1" )};
87- groups [36 ] = new Value [] {referenceValue ("projects/p1/databases/d1/documents/c1/doc2/c2/doc2" )};
88- groups [37 ] = new Value [] {referenceValue ("projects/p1/databases/d1/documents/c10/doc1" )};
89- groups [38 ] = new Value [] {referenceValue ("projects/p1/databases/d1/documents/c2/doc1" )};
90- groups [39 ] = new Value [] {referenceValue ("projects/p2/databases/d2/documents/c1/doc1" )};
91- groups [40 ] = new Value [] {referenceValue ("projects/p2/databases/d2/documents/c1-/doc1" )};
92- groups [41 ] = new Value [] {referenceValue ("projects/p2/databases/d3/documents/c1-/doc1" )};
86+ groups [35 ] = new Value [] {referenceValue ("projects/p1/databases/d1/documents/c1/doc1" )};
87+ groups [36 ] = new Value [] {referenceValue ("projects/p1/databases/d1/documents/c1/doc2" )};
88+ groups [37 ] = new Value [] {referenceValue ("projects/p1/databases/d1/documents/c1/doc2/c2/doc1" )};
89+ groups [38 ] = new Value [] {referenceValue ("projects/p1/databases/d1/documents/c1/doc2/c2/doc2" )};
90+ groups [39 ] = new Value [] {referenceValue ("projects/p1/databases/d1/documents/c10/doc1" )};
91+ groups [40 ] = new Value [] {referenceValue ("projects/p1/databases/d1/documents/c2/doc1" )};
92+ groups [41 ] = new Value [] {referenceValue ("projects/p2/databases/d2/documents/c1/doc1" )};
93+ groups [42 ] = new Value [] {referenceValue ("projects/p2/databases/d2/documents/c1-/doc1" )};
94+ groups [43 ] = new Value [] {referenceValue ("projects/p2/databases/d3/documents/c1-/doc1" )};
9395
9496 // geo points
95- groups [42 ] = new Value [] {geoPointValue (-90 , -180 )};
96- groups [43 ] = new Value [] {geoPointValue (-90 , 0 )};
97- groups [44 ] = new Value [] {geoPointValue (-90 , 180 )};
98- groups [45 ] = new Value [] {geoPointValue (0 , -180 )};
99- groups [46 ] = new Value [] {geoPointValue (0 , 0 )};
100- groups [47 ] = new Value [] {geoPointValue (0 , 180 )};
101- groups [48 ] = new Value [] {geoPointValue (1 , -180 )};
102- groups [49 ] = new Value [] {geoPointValue (1 , 0 )};
103- groups [50 ] = new Value [] {geoPointValue (1 , 180 )};
104- groups [51 ] = new Value [] {geoPointValue (90 , -180 )};
105- groups [52 ] = new Value [] {geoPointValue (90 , 0 )};
106- groups [53 ] = new Value [] {geoPointValue (90 , 180 )};
97+ groups [44 ] = new Value [] {geoPointValue (-90 , -180 )};
98+ groups [45 ] = new Value [] {geoPointValue (-90 , 0 )};
99+ groups [46 ] = new Value [] {geoPointValue (-90 , 180 )};
100+ groups [47 ] = new Value [] {geoPointValue (0 , -180 )};
101+ groups [48 ] = new Value [] {geoPointValue (0 , 0 )};
102+ groups [49 ] = new Value [] {geoPointValue (0 , 180 )};
103+ groups [50 ] = new Value [] {geoPointValue (1 , -180 )};
104+ groups [51 ] = new Value [] {geoPointValue (1 , 0 )};
105+ groups [52 ] = new Value [] {geoPointValue (1 , 180 )};
106+ groups [53 ] = new Value [] {geoPointValue (90 , -180 )};
107+ groups [54 ] = new Value [] {geoPointValue (90 , 0 )};
108+ groups [55 ] = new Value [] {geoPointValue (90 , 180 )};
107109
108110 // arrays
109- groups [54 ] = new Value [] {arrayValue ()};
110- groups [55 ] = new Value [] {arrayValue (stringValue ("bar" ))};
111- groups [56 ] = new Value [] {arrayValue (stringValue ("foo" ))};
112- groups [57 ] = new Value [] {arrayValue (stringValue ("foo" ), intValue (0 ))};
113- groups [58 ] = new Value [] {arrayValue (stringValue ("foo" ), intValue (1 ))};
114- groups [59 ] = new Value [] {arrayValue (stringValue ("foo" ), stringValue ("0" ))};
111+ groups [56 ] = new Value [] {arrayValue ()};
112+ groups [57 ] = new Value [] {arrayValue (stringValue ("bar" ))};
113+ groups [58 ] = new Value [] {arrayValue (stringValue ("foo" ))};
114+ groups [59 ] = new Value [] {arrayValue (stringValue ("foo" ), intValue (0 ))};
115+ groups [60 ] = new Value [] {arrayValue (stringValue ("foo" ), intValue (1 ))};
116+ groups [61 ] = new Value [] {arrayValue (stringValue ("foo" ), stringValue ("0" ))};
115117
116118 // objects
117- groups [60 ] = new Value [] {objectValue ("bar" , intValue (0 ))};
118- groups [61 ] = new Value [] {objectValue ("bar" , intValue (0 ), "foo" , intValue (1 ))};
119- groups [62 ] = new Value [] {objectValue ("bar" , intValue (1 ))};
120- groups [63 ] = new Value [] {objectValue ("bar" , intValue (2 ))};
121- groups [64 ] = new Value [] {objectValue ("bar" , stringValue ("0" ))};
119+ groups [62 ] = new Value [] {objectValue ("bar" , intValue (0 ))};
120+ groups [63 ] = new Value [] {objectValue ("bar" , intValue (0 ), "foo" , intValue (1 ))};
121+ groups [64 ] = new Value [] {objectValue ("bar" , intValue (1 ))};
122+ groups [65 ] = new Value [] {objectValue ("bar" , intValue (2 ))};
123+ groups [66 ] = new Value [] {objectValue ("bar" , stringValue ("0" ))};
122124
123125 for (int left = 0 ; left < groups .length ; left ++) {
124126 for (int right = 0 ; right < groups .length ; right ++) {
0 commit comments