DeMarchi { public void execute(final Configuration configuration) throws AlgorithmExecutionException { this.configuration = configuration; final List<TableInfo> tables = tableInfoFactory .create(configuration.getRelationalInputGenerators(), configuration.getTableInputGenerators()); attributeCount = getTotalColumnCount(tables); attributeIndex = new Attribute[attributeCount]; fillAttributeIndex(tables); if (onlyOneTypePresent(tables)) { handleSingleDomain(tables); } else { handleMultipleDomains(); } } DeMarchi(); @VisibleForTesting  DeMarchi(final TableInfoFactory tableInfoFactory); void execute(final Configuration configuration);  }
@Test void runDeMarchi() throws Exception { impl.execute(getConfiguration()); verify(resultReceiver).receiveResult(ind.capture()); assertThat(ind.getAllValues()) .hasSize(1) .first() .isEqualTo(expectedInd()); }
@Test void runDeMarchiProcessEmptyColumns() throws Exception { final Configuration configuration = getConfiguration(); configuration.setProcessEmptyColumns(true); impl.execute(configuration); verify(resultReceiver, atLeastOnce()).receiveResult(ind.capture()); assertThat(ind.getAllValues()) .as("empty column should only form IND with column of same type") .hasSize(2) .contains(emptyColumnOnLhs()); }