//[Theory(/*Timeout = 60000 /*ms*/)] //[InlineData(6)] //[InlineData(8)] //[InlineData(10)] public void GenerateBoardInReasonableTime(int size) { Debug.WriteLine($"Generating all boards for size {size}."); var validRows = new BinairoRows(new BinairoRowGenerator(), size); var rowChecker = new BinairoRowChecker(validRows, size); var flipper = new MatrixFlipper(); var checker = new BinairoBoardChecker(rowChecker, flipper, size); var sut = new BoardGenerator(checker, validRows, size); //var boardPrinter = new BoardPrinter(); var allBoards = sut.GenerateAllBoards(); // .Take(1000); //Debug.WriteLine($"Found {allBoards.Count()} boards."); int count = 0; foreach (ushort[] board in allBoards) { count += 1; if (count % 100 == 0) { Debug.WriteLine(count); } //boardPrinter.PrintBoard(board, size); Assert.True(checker.IsValid(board, sut.FullMask)); } }