@Test
public void executeConcept() throws RuleException {

    doReturn(Result.Status.SUCCESS).when(analyzerContext).verify(eq(concept), anyList(), anyList());
    boolean visitConcept = analyzerRuleVisitor.visitConcept(concept, Severity.MAJOR);
    assertThat(visitConcept, equalTo(true));
    ArgumentCaptor<Map> argumentCaptor = ArgumentCaptor.forClass(Map.class);
    verify(store).executeQuery(eq(statement), argumentCaptor.capture());
    Map<String, Object> parameters = argumentCaptor.getValue();
    assertThat(parameters.get(PARAMETER_WITHOUT_DEFAULT), equalTo("value"));
    assertThat(parameters.get(PARAMETER_WITH_DEFAULT), equalTo("defaultValue"));
    verify(reportWriter).beginConcept(concept);
    ArgumentCaptor<Result> resultCaptor = ArgumentCaptor.forClass(Result.class);
    verify(reportWriter).setResult(resultCaptor.capture());
    Result result = resultCaptor.getValue();
    assertThat(result.getStatus(), equalTo(Result.Status.SUCCESS));
    assertThat(result.getSeverity(), equalTo(Severity.MAJOR));
    verify(reportWriter).endConcept();
    verify(store).create(ConceptDescriptor.class);
}