@Test
void testExec_stroomClasses() {

    //When
    executor.exec();
    //Then
    Mockito.verify(mockInternalStatisticsReceiver, Mockito.timeout(5_000).times(2))
            .putEvents(eventsCaptor.capture());
    List<List<InternalStatisticEvent>> argValues = eventsCaptor.getAllValues();
    //We must have some stroom classes in the list
    assertThat(argValues.get(0).size() > 0).isTrue();
    //the histo is duplicated as two separate stats so two lists of equal size
    assertThat(argValues.get(0).size() == argValues.get(1).size()).isTrue();
    //Ensure all class names start with stroom as that was the regex applied in the property
    for (List<InternalStatisticEvent> statisticEvents : argValues) {
        assertThat(statisticEvents.stream()
                .map(STAT_TO_CLASS_NAME_MAPPER)
                .allMatch(className -> className.startsWith("stroom"))).isTrue();
        //check this class features in the list
        Pattern thisClassPattern = Pattern.compile(this.getClass().getName());
        assertThat(statisticEvents.stream()
                .map(STAT_TO_CLASS_NAME_MAPPER)
                .anyMatch(thisClassPattern.asPredicate())).isTrue();
    }
}