Skip to content

Commit e1553b0

Browse files
committed
Clean up code
1 parent a9d190d commit e1553b0

File tree

4 files changed

+79
-45
lines changed

4 files changed

+79
-45
lines changed

firebase-firestore/src/androidTest/java/com/google/firebase/firestore/AggregationTest.java

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
import static org.hamcrest.CoreMatchers.instanceOf;
2929
import static org.hamcrest.MatcherAssert.assertThat;
3030
import static org.junit.Assert.assertEquals;
31-
import static org.junit.Assert.assertFalse;
3231
import static org.junit.Assert.assertNotEquals;
3332
import static org.junit.Assert.assertNotNull;
3433
import static org.junit.Assert.assertNull;
@@ -49,6 +48,7 @@
4948

5049
@RunWith(AndroidJUnit4.class)
5150
public class AggregationTest {
51+
5252
@After
5353
public void tearDown() {
5454
IntegrationTestUtil.tearDown();
@@ -100,18 +100,18 @@ public void testAggregateCountQueryEquals() {
100100
.orderBy("c")
101101
.aggregate(AggregateField.count());
102102

103-
assertTrue(query1.equals(query1_same));
104-
assertTrue(query2.equals(query2_same));
105-
assertTrue(query3.equals(query3_same));
103+
assertEquals(query1, query1_same);
104+
assertEquals(query2, query2_same);
105+
assertEquals(query3, query3_same);
106106

107107
assertEquals(query1.hashCode(), query1_same.hashCode());
108108
assertEquals(query2.hashCode(), query2_same.hashCode());
109109
assertEquals(query3.hashCode(), query3_same.hashCode());
110110

111-
assertFalse(query1.equals(null));
112-
assertFalse(query1.equals("string"));
113-
assertFalse(query1.equals(query2));
114-
assertFalse(query2.equals(query3));
111+
assertNotNull(query1);
112+
assertNotEquals("string", query1);
113+
assertNotEquals(query1, query2);
114+
assertNotEquals(query2, query3);
115115
assertNotEquals(query1.hashCode(), query2.hashCode());
116116
assertNotEquals(query2.hashCode(), query3.hashCode());
117117
}
@@ -151,18 +151,18 @@ public void testAggregateSumQueryEquals() {
151151
.orderBy("c")
152152
.aggregate(sum("baz"));
153153

154-
assertTrue(query1.equals(query1_same));
155-
assertTrue(query2.equals(query2_same));
156-
assertTrue(query3.equals(query3_same));
154+
assertEquals(query1, query1_same);
155+
assertEquals(query2, query2_same);
156+
assertEquals(query3, query3_same);
157157

158158
assertEquals(query1.hashCode(), query1_same.hashCode());
159159
assertEquals(query2.hashCode(), query2_same.hashCode());
160160
assertEquals(query3.hashCode(), query3_same.hashCode());
161161

162-
assertFalse(query1.equals(null));
163-
assertFalse(query1.equals("string"));
164-
assertFalse(query1.equals(query2));
165-
assertFalse(query2.equals(query3));
162+
assertNotNull(query1);
163+
assertNotEquals("string", query1);
164+
assertNotEquals(query1, query2);
165+
assertNotEquals(query2, query3);
166166
assertNotEquals(query1.hashCode(), query2.hashCode());
167167
assertNotEquals(query2.hashCode(), query3.hashCode());
168168
}
@@ -202,18 +202,18 @@ public void testAggregateAvgQueryEquals() {
202202
.orderBy("c")
203203
.aggregate(average("baz"));
204204

205-
assertTrue(query1.equals(query1_same));
206-
assertTrue(query2.equals(query2_same));
207-
assertTrue(query3.equals(query3_same));
205+
assertEquals(query1, query1_same);
206+
assertEquals(query2, query2_same);
207+
assertEquals(query3, query3_same);
208208

209209
assertEquals(query1.hashCode(), query1_same.hashCode());
210210
assertEquals(query2.hashCode(), query2_same.hashCode());
211211
assertEquals(query3.hashCode(), query3_same.hashCode());
212212

213-
assertFalse(query1.equals(null));
214-
assertFalse(query1.equals("string"));
215-
assertFalse(query1.equals(query2));
216-
assertFalse(query2.equals(query3));
213+
assertNotNull(query1);
214+
assertNotEquals("string", query1);
215+
assertNotEquals(query1, query2);
216+
assertNotEquals(query2, query3);
217217
assertNotEquals(query1.hashCode(), query2.hashCode());
218218
assertNotEquals(query2.hashCode(), query3.hashCode());
219219
}
@@ -226,9 +226,9 @@ public void testAggregateQueryNotEquals() {
226226
AggregateQuery query2 = coll.aggregate(sum("baz"));
227227
AggregateQuery query3 = coll.aggregate(average("baz"));
228228

229-
assertFalse(query1.equals(query2));
230-
assertFalse(query2.equals(query3));
231-
assertFalse(query3.equals(query1));
229+
assertNotEquals(query1, query2);
230+
assertNotEquals(query2, query3);
231+
assertNotEquals(query3, query1);
232232
assertNotEquals(query1.hashCode(), query2.hashCode());
233233
assertNotEquals(query2.hashCode(), query3.hashCode());
234234
assertNotEquals(query3.hashCode(), query1.hashCode());
@@ -248,9 +248,9 @@ public void testAggregateQueryNotEquals() {
248248
.limit(100)
249249
.aggregate(average("baz"));
250250

251-
assertFalse(query4.equals(query5));
252-
assertFalse(query5.equals(query6));
253-
assertFalse(query6.equals(query4));
251+
assertNotEquals(query4, query5);
252+
assertNotEquals(query5, query6);
253+
assertNotEquals(query6, query4);
254254
assertNotEquals(query4.hashCode(), query5.hashCode());
255255
assertNotEquals(query5.hashCode(), query6.hashCode());
256256
assertNotEquals(query6.hashCode(), query4.hashCode());

firebase-firestore/src/main/java/com/google/firebase/firestore/AggregateField.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,12 @@
1616

1717
import androidx.annotation.NonNull;
1818
import androidx.annotation.Nullable;
19+
import androidx.annotation.RestrictTo;
1920
import java.util.Objects;
2021

21-
/** Represents an aggregation that can be performed by Firestore. */
22+
// TODO(sumavg): Remove the `hide` and scope annotations.
23+
/** @hide */
24+
@RestrictTo(RestrictTo.Scope.LIBRARY)
2225
public abstract class AggregateField {
2326
@Nullable private final FieldPath fieldPath;
2427

@@ -44,6 +47,7 @@ public String getFieldPath() {
4447
}
4548

4649
/** Returns the alias used internally for this aggregate field. */
50+
@RestrictTo(RestrictTo.Scope.LIBRARY)
4751
@NonNull
4852
public String getAlias() {
4953
return alias;
@@ -67,10 +71,11 @@ public boolean equals(Object other) {
6771
if (!(other instanceof AggregateField)) {
6872
return false;
6973
}
70-
if (fieldPath == null || ((AggregateField) other).fieldPath == null) {
71-
return fieldPath == null && ((AggregateField) other).fieldPath == null;
72-
}
74+
7375
AggregateField otherAggregateField = (AggregateField) other;
76+
if (fieldPath == null || otherAggregateField.fieldPath == null) {
77+
return fieldPath == null && otherAggregateField.fieldPath == null;
78+
}
7479
return operator.equals(otherAggregateField.getOperator())
7580
&& getFieldPath().equals(otherAggregateField.getFieldPath());
7681
}

firebase-firestore/src/main/java/com/google/firebase/firestore/AggregateQuery.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
package com.google.firebase.firestore;
1616

1717
import androidx.annotation.NonNull;
18+
import androidx.annotation.RestrictTo;
1819
import com.google.android.gms.tasks.Task;
1920
import com.google.android.gms.tasks.TaskCompletionSource;
2021
import com.google.firebase.firestore.util.Executors;
@@ -47,6 +48,9 @@ public Query getQuery() {
4748
}
4849

4950
/** Returns the AggregateFields included inside this object. */
51+
// TODO(sumavg): Remove the `hide` and scope annotations.
52+
/** @hide */
53+
@RestrictTo(RestrictTo.Scope.LIBRARY)
5054
@NonNull
5155
public List<AggregateField> getAggregateFields() {
5256
return aggregateFieldList;

firebase-firestore/src/main/java/com/google/firebase/firestore/AggregateQuerySnapshot.java

Lines changed: 38 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
import androidx.annotation.NonNull;
2020
import androidx.annotation.Nullable;
21+
import androidx.annotation.RestrictTo;
2122
import com.google.firestore.v1.Value;
2223
import java.util.Map;
2324
import java.util.Objects;
@@ -50,19 +51,7 @@ public AggregateQuery getQuery() {
5051

5152
/** Returns the number of documents in the result set of the underlying query. */
5253
public long getCount() {
53-
AggregateField countField = AggregateField.count();
54-
Object value = get(countField);
55-
if (value == null) {
56-
throw new IllegalArgumentException(
57-
"RunAggregationQueryResponse alias " + countField.getAlias() + " is null");
58-
} else if (!(value instanceof Long)) {
59-
throw new IllegalArgumentException(
60-
"RunAggregationQueryResponse alias "
61-
+ countField.getAlias()
62-
+ " has incorrect type: "
63-
+ value.getClass().getName());
64-
}
65-
return (long) value;
54+
return get(AggregateField.count());
6655
}
6756

6857
/**
@@ -73,6 +62,9 @@ public long getCount() {
7362
* @param aggregateField The aggregation for which the value is requested.
7463
* @return The result of the given aggregation.
7564
*/
65+
// TODO(sumavg): Remove the `hide` and scope annotations.
66+
/** @hide */
67+
@RestrictTo(RestrictTo.Scope.LIBRARY)
7668
@Nullable
7769
public Object get(@Nonnull AggregateField aggregateField) {
7870
if (!data.containsKey(aggregateField.getAlias())) {
@@ -96,6 +88,30 @@ public Object get(@Nonnull AggregateField aggregateField) {
9688
}
9789
}
9890

91+
/**
92+
* Returns the number of documents in the result set of the underlying query.
93+
*
94+
* @param countAggregateField The count aggregation for which the value is requested.
95+
* @return The result of the given count aggregation.
96+
*/
97+
// TODO(sumavg): Remove the `hide` and scope annotations.
98+
/** @hide */
99+
@RestrictTo(RestrictTo.Scope.LIBRARY)
100+
public long get(@Nonnull AggregateField.CountAggregateField countAggregateField) {
101+
Object value = get((AggregateField) countAggregateField);
102+
if (value == null) {
103+
throw new IllegalArgumentException(
104+
"RunAggregationQueryResponse alias " + countAggregateField.getAlias() + " is null");
105+
} else if (!(value instanceof Long)) {
106+
throw new IllegalArgumentException(
107+
"RunAggregationQueryResponse alias "
108+
+ countAggregateField.getAlias()
109+
+ " has incorrect type: "
110+
+ value.getClass().getName());
111+
}
112+
return (long) value;
113+
}
114+
99115
/**
100116
* Returns the result of the given average aggregation. Since the result of an average aggregation
101117
* performed by the server is always a double, this convenience overload can be used in lieu of
@@ -105,6 +121,9 @@ public Object get(@Nonnull AggregateField aggregateField) {
105121
* @param averageAggregateField The average aggregation for which the value is requested.
106122
* @return The result of the given average aggregation.
107123
*/
124+
// TODO(sumavg): Remove the `hide` and scope annotations.
125+
/** @hide */
126+
@RestrictTo(RestrictTo.Scope.LIBRARY)
108127
@Nullable
109128
public Double get(@Nonnull AggregateField.AverageAggregateField averageAggregateField) {
110129
return (Double) get((AggregateField) averageAggregateField);
@@ -119,6 +138,9 @@ public Double get(@Nonnull AggregateField.AverageAggregateField averageAggregate
119138
* @param aggregateField The aggregation for which the value is requested.
120139
* @return The result of the given average aggregation as a double.
121140
*/
141+
// TODO(sumavg): Remove the `hide` and scope annotations.
142+
/** @hide */
143+
@RestrictTo(RestrictTo.Scope.LIBRARY)
122144
@Nullable
123145
public Double getDouble(@Nonnull AggregateField aggregateField) {
124146
Number result = (Number) get(aggregateField);
@@ -133,6 +155,9 @@ public Double getDouble(@Nonnull AggregateField aggregateField) {
133155
* @param aggregateField The aggregation for which the value is requested.
134156
* @return The result of the given average aggregation as a long.
135157
*/
158+
// TODO(sumavg): Remove the `hide` and scope annotations.
159+
/** @hide */
160+
@RestrictTo(RestrictTo.Scope.LIBRARY)
136161
@Nullable
137162
public Long getLong(@Nonnull AggregateField aggregateField) {
138163
Number result = (Number) get(aggregateField);

0 commit comments

Comments
 (0)