@Test
    void testOrAndSomeTermsFilterAndAnAnd() {
        AndItem root = (AndItem) tester.assertParsed("AND (RANK d |c |a |b |e) (OR |e |f)", "d", "c (a b) e +(e f)", Query.Type.ALL);
        assertFalse(root.isFilter()); // AND
        assertFalse(root.getItem(0).isFilter()); // RANK
        assertFalse(((RankItem) root.getItem(0)).getItem(0).isFilter()); // d
        assertTrue(((RankItem) root.getItem(0)).getItem(1).isFilter()); // c
        assertTrue(((RankItem) root.getItem(0)).getItem(2).isFilter()); // a
        assertTrue(((RankItem) root.getItem(0)).getItem(3).isFilter()); // b
        assertTrue(((RankItem) root.getItem(0)).getItem(4).isFilter()); // e
        assertFalse(root.getItem(1).isFilter()); // OR
        assertTrue(((OrItem) root.getItem(1)).getItem(0).isFilter()); // e
        assertTrue(((OrItem) root.getItem(1)).getItem(1).isFilter()); // f
    }
Various tests for prefix, substring, and suffix terms *
container-search/src/test/java/com/yahoo/prelude/query/parser/test/ParseTestCase.java