import XCTest @testable import Shikaku final class ShikakuCoreTests: XCTestCase { func testGeneratedPuzzlesAreCoveredAndValidated() throws { let cases: [(size: Int, seeds: ClosedRange)] = [ (5, 1...20), (7, 1...20), (10, 1...5), (15, 1...5), (20, 1...2), (25, 1...2) ] for testCase in cases { for seed in testCase.seeds { let size = testCase.size let puzzle = try ShikakuGenerator.generate(size: size, seed: seed) var covered: Set = [] XCTAssertEqual(puzzle.size, size) XCTAssertEqual(puzzle.clues.count, puzzle.solution.count) for rect in puzzle.solution { XCTAssertGreaterThanOrEqual(rect.area, 2) for cell in rect.cells { XCTAssertTrue((0..