Skip to content

Commit 06dfc73

Browse files
committed
Add composite filter in-expansion test.
1 parent f7bb571 commit 06dfc73

File tree

1 file changed

+75
-1
lines changed

1 file changed

+75
-1
lines changed

firebase-firestore/src/test/java/com/google/firebase/firestore/util/LogicUtilsTest.java

Lines changed: 75 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -309,6 +309,80 @@ public void testInExpansionForFieldFilters() {
309309
}
310310
@Test
311311
public void testInExpansionForCompositeFilters() {
312-
// TODO
312+
CompositeFilter cf1 = andFilters(
313+
filter("a", "==", 1),
314+
filter("b", "in", Arrays.asList(2,3,4))
315+
);
316+
317+
assertThat(computeInExpansion(cf1)).isEqualTo(
318+
andFilters(
319+
filter("a", "==", 1),
320+
orFilters(
321+
filter("b", "==", 2),
322+
filter("b", "==", 3),
323+
filter("b", "==", 4)
324+
)
325+
)
326+
);
327+
328+
CompositeFilter cf2 = orFilters(
329+
filter("a", "==", 1),
330+
filter("b", "in", Arrays.asList(2,3,4))
331+
);
332+
333+
assertThat(computeInExpansion(cf2)).isEqualTo(
334+
orFilters(
335+
filter("a", "==", 1),
336+
orFilters(
337+
filter("b", "==", 2),
338+
filter("b", "==", 3),
339+
filter("b", "==", 4)
340+
)
341+
)
342+
);
343+
344+
CompositeFilter cf3 = andFilters(
345+
filter("a", "==", 1),
346+
orFilters(
347+
filter("b", "==", 2),
348+
filter("c", "in", Arrays.asList(2,3,4))
349+
)
350+
);
351+
352+
assertThat(computeInExpansion(cf3)).isEqualTo(
353+
andFilters(
354+
filter("a", "==", 1),
355+
orFilters(
356+
filter("b", "==", 2),
357+
orFilters(
358+
filter("c", "==", 2),
359+
filter("c", "==", 3),
360+
filter("c", "==", 4)
361+
)
362+
)
363+
)
364+
);
365+
366+
CompositeFilter cf4 = orFilters(
367+
filter("a", "==", 1),
368+
andFilters(
369+
filter("b", "==", 2),
370+
filter("c", "in", Arrays.asList(2,3,4))
371+
)
372+
);
373+
374+
assertThat(computeInExpansion(cf4)).isEqualTo(
375+
orFilters(
376+
filter("a", "==", 1),
377+
andFilters(
378+
filter("b", "==", 2),
379+
orFilters(
380+
filter("c", "==", 2),
381+
filter("c", "==", 3),
382+
filter("c", "==", 4)
383+
)
384+
)
385+
)
386+
);
313387
}
314388
}

0 commit comments

Comments
 (0)