package sudoku; import static org.junit.jupiter.api.Assertions.assertTrue; import java.util.Random; import org.junit.jupiter.api.Test; import sudoku.io.SudokuPrinter; import sudoku.io.SudokuSerializer; import sudoku.structure.MultiDoku; import sudoku.structure.SudokuFactory; public class SudokuSerializerTest { void testSerializeWithSize(int blockWidth, int blockHeight) { var sudoku = SudokuFactory.createBasicEmptyRectangleSudoku(blockWidth, blockHeight); SudokuPrinter.printRectangleSudoku(sudoku.getSubGrid(0), blockWidth, blockHeight); String data = SudokuSerializer.serializeSudoku(sudoku); MultiDoku multiDoku = SudokuSerializer.deserializeSudoku(data); assertTrue(data.equals(SudokuSerializer.serializeSudoku(multiDoku))); } @Test void testSerialize() { int testCount = 5; Random r = new Random(); for (int i = 0; i < testCount; i++) { int blockWidth = r.nextInt(20) + 1; int blockHeight = r.nextInt(20) + 1; testSerializeWithSize(blockWidth, blockHeight); } } }