### Question:
FunctionalDependencyResultAnalyzer extends ResultAnalyzer<FunctionalDependency, FunctionalDependencyResult> { protected BitSet getDeterminantBitSet(FunctionalDependencyResult result) { try { BitSet bitSet = new BitSet(); String tableName = result.getDeterminantTableName(); for (ColumnIdentifier column : result.getDeterminant().getColumnIdentifiers()) { bitSet.or(this.tableInformationMap.get(tableName).getColumnInformationMap() .get(column.getColumnIdentifier()).getBitSet()); } return bitSet; } catch (Exception e) { return new BitSet(); } } FunctionalDependencyResultAnalyzer(List<RelationalInputGenerator> inputGenerators,
                                            boolean useDataIndependentStatistics); @Override List<FunctionalDependencyResult> convertResults(
    List<FunctionalDependency> prevResults); List<FunctionalDependencyResult> extendDependantSide(
    List<FunctionalDependencyResult> results);  }### Answer:
@Test public void testGetDeterminantBitSet() throws InputGenerationException, InputIterationException, AlgorithmConfigurationException { FunctionalDependencyResultAnalyzer analyzer = new FunctionalDependencyResultAnalyzer(this.generators, false); BitSet expectedBitSet = new BitSet(); expectedBitSet.set(0); expectedBitSet.set(1); BitSet actualBitSet = analyzer.getDeterminantBitSet(this.results.get(0)); assertEquals(expectedBitSet, actualBitSet); expectedBitSet = new BitSet(); expectedBitSet.set(1); actualBitSet = analyzer.getDeterminantBitSet(this.results.get(1)); assertEquals(expectedBitSet, actualBitSet); }