Files
Sudoku/app/src/test/java/sudoku/SudokuSerializerTest.java
Melvyn 8f4330f710
All checks were successful
Linux arm64 / Build (push) Successful in 24m8s
merge
2025-01-24 16:17:56 +01:00

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);
}
}
}