introduce bitloops

This commit is contained in:
mike
2026-01-16 22:52:48 +01:00
parent 91722ecc60
commit 5c7d1120db

View File

@@ -8,6 +8,7 @@ import puzzle.Export.Gridded;
import puzzle.Export.LetterVisit.LetterAt; import puzzle.Export.LetterVisit.LetterAt;
import puzzle.Export.PuzzleResult; import puzzle.Export.PuzzleResult;
import puzzle.Export.Rewards; import puzzle.Export.Rewards;
import puzzle.ExportFormatTest.Clue;
import puzzle.Main.Opts; import puzzle.Main.Opts;
import puzzle.SwedishGenerator.Rng; import puzzle.SwedishGenerator.Rng;
import puzzle.SwedishGenerator.Slot; import puzzle.SwedishGenerator.Slot;
@@ -16,6 +17,7 @@ import java.util.stream.Collectors;
import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.assertTrue;
import static puzzle.ExportFormatTest.Clue.*;
import static puzzle.SwedishGenerator.*; import static puzzle.SwedishGenerator.*;
import static puzzle.SwedishGeneratorTest.*; import static puzzle.SwedishGeneratorTest.*;
import static puzzle.SwedishGeneratorTest.Idx.IDX_0_0; import static puzzle.SwedishGeneratorTest.Idx.IDX_0_0;
@@ -126,16 +128,16 @@ public class MainTest {
@Test @Test
public void testCluesDeepCopy() { public void testCluesDeepCopy() {
var grid = Clues.createEmpty(); var grid = Clues.createEmpty();
grid.setClueLo(IDX_0_0.lo, (byte) 1); grid.setClueLo(IDX_0_0.lo, RIGHT.dir);
grid.setClueLo(IDX_0_1.lo, (byte) 2); grid.setClueLo(IDX_0_1.lo, UP.dir);
grid.setClueLo(IDX_1_0.lo, (byte) 3); grid.setClueLo(IDX_1_0.lo, LEFT.dir);
grid.setClueLo(IDX_1_1.lo, (byte) 0); grid.setClueLo(IDX_1_1.lo, DOWN.dir);
var copy = grid.deepCopyGrid(); var copy = grid.deepCopyGrid();
Assertions.assertEquals(1, copy.digitAtLo(0)); Assertions.assertEquals(1, copy.digitAtLo(0));
copy.setClueLo(IDX_0_0.lo, (byte) 3); copy.setClueLo(IDX_0_0.lo, DOWN.dir);
Assertions.assertEquals(3, copy.digitAtLo(0)); Assertions.assertEquals(DOWN.dir, copy.digitAtLo(0));
Assertions.assertEquals(1, grid.digitAtLo(0)); // Original should be unchanged Assertions.assertEquals(1, grid.digitAtLo(0)); // Original should be unchanged
} }
@Test @Test