36 lines
1.1 KiB
Java
36 lines
1.1 KiB
Java
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);
|
|
}
|
|
}
|
|
|
|
}
|