@Override
    public void beforeMatchFired(BeforeMatchFiredEvent beforeMatchFiredEvent) {
        InternalRule rule = (InternalRule) beforeMatchFiredEvent.getMatch().getRule();
        String ruleKey = prettyFullyQualifiedName(rule);
        ruleExecuted.compute(ruleKey, (r, counter) -> counter == null ? 1 : counter + 1);
        auditsMessages.add(ruleKey);
    }
@Test
    public void beforeMatchFired() {
        CoverageAgendaListener coverageAgendaListener = new CoverageAgendaListener();
        
        BeforeMatchFiredEvent beforeMatchFiredEvent = createBeforeMatchFiredEventMock(RULE_NAME);
        
        coverageAgendaListener.beforeMatchFired(beforeMatchFiredEvent);
        
        assertThat(coverageAgendaListener.getRuleExecuted()).hasSize(1).containsEntry(RULE_NAME, 1);
        assertThat(coverageAgendaListener.getAuditsMessages()).hasSize(1).containsExactly(RULE_NAME);
    }