class HiddenSubsetStrategy implements Strategy { static getTests() { [ new Test( '.6.39.1....315..9.19.4263..83.57941.9...61....51.43..9419635827.2.9845.1.8.71294.', { def cell for (c in 8..9) { cell = it.getCell(5, c) for (n in [1,2,4,6,7,8,9]) { if (cell.hasMark(n)) { return false } } } true } ) ] } boolean play(Board board) { // we don't actually need to do anything here because // HiddenSubset and NakedSubset are "inverses" of each // other across a house. So NakedSubset will find all // HiddenSubsets as well. false } }