}
};
Assert.assertEquals(Lists.newArrayList("10", "11", "13", "16", "17", "12", "15", "18", "14"),
Lists.transform(eventHub.findUsers(TrueFilter.INSTANCE), getExternalUserId));
Assert.assertEquals(Lists.newArrayList("11"),
Lists.transform(eventHub.findUsers(new ExactMatch("hello", "world")), getExternalUserId));
Assert.assertEquals(Lists.newArrayList("16"),
Lists.transform(eventHub.findUsers(new ExactMatch("external_user_id", "16")), getExternalUserId));
eventHub.close();
eventHub = eventHubProvider.get();
Assert.assertArrayEquals(new int[] { 8, 7, 6 },
eventHub.getFunnelCounts(DATES[0], DATES[4], funnelSteps, 7 /* numDaysToCompleteFunnel */,
eventFilters, TrueFilter.INSTANCE));
Assert.assertArrayEquals(new int[] { 4, 3, 2 },
eventHub.getFunnelCounts(DATES[1], DATES[4], funnelSteps, 7 /* numDaysToCompleteFunnel */,
eventFilters, TrueFilter.INSTANCE));
Assert.assertArrayEquals(new int[] { 4, 1, 0 },
eventHub.getFunnelCounts(DATES[1], DATES[2], funnelSteps, 1 /* numDaysToCompleteFunnel */,
eventFilters, TrueFilter.INSTANCE));
Assert.assertEquals(Lists.newArrayList("10", "11", "13", "16", "17", "12", "15", "18", "14"),
Lists.transform(eventHub.findUsers(TrueFilter.INSTANCE), getExternalUserId));
Assert.assertEquals(Lists.newArrayList("11"),
Lists.transform(eventHub.findUsers(new ExactMatch("hello", "world")), getExternalUserId));
Assert.assertEquals(Lists.newArrayList("16"),
Lists.transform(eventHub.findUsers(new ExactMatch("external_user_id", "16")), getExternalUserId));
}