@Test
public void columnOrder() throws RuleException {

    analyzerRuleVisitor.visitConcept(concept, Severity.MINOR);
    ArgumentCaptor<Result> resultCaptor = ArgumentCaptor.forClass(Result.class);
    verify(reportWriter).setResult(resultCaptor.capture());
    Result capturedResult = resultCaptor.getValue();
    assertThat("The reported column names must match the given column names.", capturedResult.getColumnNames(), equalTo(columnNames));
    List<Map<String, Object>> capturedRows = capturedResult.getRows();
    assertThat("Expecting one row.", capturedRows.size(), equalTo(1));
    Map<String, Object> capturedRow = capturedRows.get(0);
    assertThat("The reported column names must match the given column names.", new ArrayList<>(capturedRow.keySet()), equalTo(columnNames));
}