### Question:
HoleFinder { public void update(ColumnCombinationBitset maximalNegative) { ColumnCombinationBitset singleComplementMaxNegative = this.allBitsSet.minus(maximalNegative); if (this.complementarySet.size() == 0) { for (ColumnCombinationBitset combination : singleComplementMaxNegative .getContainedOneColumnCombinations()) { this.complementarySet.add(combination); } return; } ArrayList<ColumnCombinationBitset> complementarySetsArray = new ArrayList<>(); this.addPossibleCombinationsToComplementArray(complementarySetsArray, singleComplementMaxNegative); this.removeSubsetsFromComplementarySetsArray(complementarySetsArray); this.complementarySet.clear(); for (ColumnCombinationBitset c : complementarySetsArray) { if (c != null) { this.complementarySet.add(c); } } } HoleFinder(int numberOfColumns); List<ColumnCombinationBitset> getHoles(); List<ColumnCombinationBitset> getHolesWithoutGivenColumnCombinations(
      Set<ColumnCombinationBitset> columnCombinationSet); void removeMinimalPositivesFromComplementarySet(List<ColumnCombinationBitset> sets); void removeMinimalPositiveFromComplementarySet(ColumnCombinationBitset set); void update(ColumnCombinationBitset maximalNegative);  }### Answer:
@Test public void testUpdateFirst() { HoleFinder finder = new HoleFinder(5); ColumnCombinationBitset mNUCC = new ColumnCombinationBitset(1, 3, 4); finder.update(mNUCC); ColumnCombinationBitset oneColumn0 = new ColumnCombinationBitset(0); ColumnCombinationBitset oneColumn2 = new ColumnCombinationBitset(2); assertEquals(2, finder.complementarySet.size()); assertTrue(finder.complementarySet.contains(oneColumn0)); assertTrue(finder.complementarySet.contains(oneColumn2)); }
@Test public void testUpdateAllOther() { HoleFinder finder = new HoleFinder(5); ColumnCombinationBitset firstCombi = new ColumnCombinationBitset(1, 3, 4); finder.update(firstCombi); ColumnCombinationBitset nextCombi = new ColumnCombinationBitset(2, 3, 4); finder.update(nextCombi); ColumnCombinationBitset column10000 = new ColumnCombinationBitset(0); ColumnCombinationBitset column01100 = new ColumnCombinationBitset(1, 2); ColumnCombinationBitset column10100 = new ColumnCombinationBitset(0, 2); assertEquals(2, finder.complementarySet.size()); assertTrue(finder.complementarySet.contains(column10000)); assertTrue(finder.complementarySet.contains(column01100)); assertFalse(finder.complementarySet.contains(column10100)); }