@Test
    void testInDictionary() {
        final DocRef docRef = DictionaryDoc.buildDocRef()
                .randomUuid()
                .name("foo")
                .build();

        final ExpressionMatcher expressionMatcher = new ExpressionMatcher(
                Map.of(FRUIT.getFldName(), FRUIT),
                mockWordListProvider,
                null,
                DateTimeSettings.builder()
                        .timeZone(UserTimeZone.builder()
                                .use(Use.UTC)
                                .build())
                        .build());

        Mockito.when(mockWordListProvider.getWords(Mockito.eq(docRef)))
                .thenReturn(new String[]{
                        "banana",
                        "orange",
                        "apple",
                        "kiwi fruit"});

        final ExpressionOperator expression = ExpressionOperator.builder()
                .addTerm(ExpressionTerm.builder()
                        .field(FRUIT.getFldName())
                        .condition(Condition.IN_DICTIONARY)
                        .docRef(docRef)
                        .build())
                .build();

        boolean match = expressionMatcher.match(
                Map.of(FRUIT.getFldName(), "orange"),
                expression);
        assertThat(match)
                .isTrue();

        // This probably ought to work, but stroom.expression.matcher.ExpressionMatcher#isIn
        // is splitting dictionary lines on spaces
//        match = expressionMatcher.match(
//                Map.of(FRUIT.getName(), "kiwi fruit"),
//                expression);
//        assertThat(match)
//                .isTrue();
    }
This ought to behave in a consistent way with CommonExpressionMapper
stroom-search/stroom-expression-matcher/src/test/java/stroom/expression/matcher/TestExpressionMatcher.java