redo
This commit is contained in:
@@ -5,7 +5,7 @@ import anno.DictGen;
|
||||
import lombok.val;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import puzzle.Export.Lettrix;
|
||||
import precomp.Mask;
|
||||
import puzzle.Export.Puzzle;
|
||||
import puzzle.Export.PuzzleResult;
|
||||
import puzzle.Main.Opts;
|
||||
@@ -148,7 +148,7 @@ public class MainTest {
|
||||
r1c1.or(r0c1).lo();
|
||||
// Test set/get
|
||||
GridBuilder.placeWord(grid.grid(), grid.grid().g, r2c1d2.slotKey, (1L << OFF_1_1) | (1L << OFF_0_1), 0, AZ);
|
||||
val map = grid.collect(Collectors.toMap(Lettrix::index, Lettrix::letter));
|
||||
val map = new Puzzle(grid.grid(), clues.c()).collect(Collectors.toMap(Mask::index, Mask::d));
|
||||
Assertions.assertEquals(LETTER_A, map.get(OFF_1_1));
|
||||
Assertions.assertEquals(LETTER_Z, map.get(OFF_0_1));
|
||||
var clueMap = clues.stream().collect(Collectors.toMap(Riddle.Vestigium::index, Riddle.Vestigium::clue));
|
||||
@@ -233,9 +233,11 @@ public class MainTest {
|
||||
Assertions.assertEquals("BEADEMT", Lemma.asWord(slotInfo[0].assign().w, Export.BYTES.get().wordBytes()));
|
||||
Assertions.assertEquals(74732156493031040L, grid.lo);
|
||||
Assertions.assertEquals(193L, grid.hi);
|
||||
grid.lo = ~mask.c().lo;
|
||||
grid.hi = 0xFFL & ~mask.c().hi;
|
||||
var g = new Puzzle(grid, mask.c());
|
||||
var result = new PuzzleResult(mask, g, slotInfo, filled);
|
||||
var aa = result.exportFormatFromFilled(new Rewards(1, 1, 1), Masker.IT);
|
||||
var aa = result.exportFormatFromFilled(new Rewards(1, 1, 1));
|
||||
result.gridGridToString();
|
||||
System.out.println(String.join("\n", aa.grid()));
|
||||
|
||||
|
||||
@@ -310,22 +310,22 @@ public class MarkerTest {
|
||||
}
|
||||
@Test
|
||||
void testExportFormatFromFilled() {
|
||||
val clues = Riddle.Signa.of(r0c0d1, r0c5d3);
|
||||
var grid = new Puzzle(clues);
|
||||
val clues = Riddle.Signa.of(r0c0d1, r0c5d3);
|
||||
var puzzle = new Puzzle(clues);
|
||||
|
||||
// key = (cellIndex << 2) | (direction)
|
||||
var key = r0c0d1.slotKey;
|
||||
var lo = (1L << OFF_0_1) | (1L << OFF_0_2) | (1L << OFF_0_3) | (1L << OFF_0_4);
|
||||
|
||||
assertTrue(placeWord(grid.grid(), grid.grid().g, key, lo, 0L, TEST));
|
||||
assertTrue(placeWord(puzzle.grid(), puzzle.grid().g, key, lo, 0L, TEST));
|
||||
|
||||
var fillResult = new FillResult(true, 0, 0, 0, 0);
|
||||
var puzzleResult = new PuzzleResult(clues, grid, new Slotinfo[]{
|
||||
var puzzleResult = new PuzzleResult(clues, new Puzzle(puzzle.grid(), puzzle.cl()), new Slotinfo[]{
|
||||
new Slotinfo(key, lo, 0L, 0, new Assign(TEST), null, 0)
|
||||
}, fillResult);
|
||||
|
||||
var rewards = new Rewards(10, 5, 1);
|
||||
var exported = puzzleResult.exportFormatFromFilled(rewards, Masker.IT);
|
||||
var exported = puzzleResult.exportFormatFromFilled(rewards);
|
||||
|
||||
assertNotNull(exported);
|
||||
assertEquals(709, exported.difficulty());
|
||||
@@ -364,7 +364,7 @@ public class MarkerTest {
|
||||
var fillResult = new FillResult(true, 0, 0, 0, 0);
|
||||
var puzzleResult = new PuzzleResult(new Signa(clues), new Puzzle(grid, clues), new Slotinfo[0], fillResult);
|
||||
|
||||
var exported = puzzleResult.exportFormatFromFilled(new Rewards(0, 0, 0), Masker.IT);
|
||||
var exported = puzzleResult.exportFormatFromFilled(new Rewards(0, 0, 0));
|
||||
|
||||
assertNotNull(exported);
|
||||
assertEquals(0, exported.words().length);
|
||||
|
||||
@@ -9,7 +9,7 @@ import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import precomp.Neighbors9x8;
|
||||
import puzzle.DictJavaGeneratorMulti.DictEntryDTO.IntListDTO;
|
||||
import puzzle.Export.Lettrix;
|
||||
import precomp.Mask;
|
||||
import puzzle.Export.Puzzle;
|
||||
import puzzle.Riddle.Signa;
|
||||
import puzzle.Masker.Slot;
|
||||
@@ -128,7 +128,7 @@ public class SwedishGeneratorTest {
|
||||
void testPatternForSlotAllLetters() {
|
||||
var grid = new Puzzle(Riddle.Signa.of(r0c0d1));
|
||||
GridBuilder.placeWord(grid.grid(), grid.grid().g, r0c0d1.slotKey, r0c1.or(r0c2).or(r0c3).lo(), X, ABC);
|
||||
val map = grid.collect(Collectors.toMap(Lettrix::index, Lettrix::letter));
|
||||
val map = grid.sync().collect(Collectors.toMap(Mask::index, Mask::d));
|
||||
assertEquals(LETTER_A, map.get(OFF_0_1));
|
||||
assertEquals(LETTER_B, map.get(OFF_0_2));
|
||||
assertEquals(LETTER_C, map.get(OFF_0_3));
|
||||
@@ -160,9 +160,9 @@ public class SwedishGeneratorTest {
|
||||
|
||||
@Test
|
||||
void testGrid() {
|
||||
var grid = new Puzzle(Clues.createEmpty());
|
||||
GridBuilder.placeWord(grid.grid(), grid.grid().g, r0c0d1.slotKey, r0c0d0.mask, X, WORD_A);
|
||||
val arr = grid.collect(Collectors.toMap(Lettrix::index, Lettrix::letter));
|
||||
var p = new Puzzle(Clues.createEmpty());
|
||||
GridBuilder.placeWord(p.grid(), p.grid().g, r0c0d1.slotKey, r0c0d0.mask, X, WORD_A);
|
||||
val arr = p.sync().collect(Collectors.toMap(Mask::index, Mask::d));
|
||||
assertEquals(1, arr.size());
|
||||
assertEquals(LETTER_A, arr.get(OFF_0_0));
|
||||
}
|
||||
@@ -286,7 +286,7 @@ public class SwedishGeneratorTest {
|
||||
var grid = new Puzzle(Clues.createEmpty());
|
||||
assertTrue(GridBuilder.placeWord(grid.grid(), grid.grid().g, r0c0d1.slotKey, r0c0.or(r0c1).or(r0c2).lo(), X, ABC));
|
||||
|
||||
var map = grid.collect(Collectors.toMap(Lettrix::index, Lettrix::letter));
|
||||
var map = new Puzzle(grid.grid(), grid.cl()).collect(Collectors.toMap(Mask::index, Mask::d));
|
||||
assertEquals(3, map.size());
|
||||
assertEquals(LETTER_A, map.get(OFF_0_0));
|
||||
assertEquals(LETTER_B, map.get(OFF_0_1));
|
||||
@@ -297,7 +297,7 @@ public class SwedishGeneratorTest {
|
||||
// 3. Conflict: place "ABD" where "ABC" is
|
||||
assertFalse(GridBuilder.placeWord(grid.grid(), grid.grid().g, r0c0d1.slotKey, r0c0.or(r0c1).or(r0c2).lo(), X, ABD));
|
||||
// Verify grid is unchanged (still "ABC")
|
||||
map = grid.collect(Collectors.toMap(Lettrix::index, Lettrix::letter));
|
||||
map = new Puzzle(grid.grid(), grid.cl()).collect(Collectors.toMap(Mask::index, Mask::d));
|
||||
assertEquals(3, map.size());
|
||||
assertEquals(LETTER_A, map.get(OFF_0_0));
|
||||
assertEquals(LETTER_B, map.get(OFF_0_1));
|
||||
@@ -307,7 +307,7 @@ public class SwedishGeneratorTest {
|
||||
grid = new Puzzle(Clues.createEmpty());
|
||||
GridBuilder.placeWord(grid.grid(), grid.grid().g, r0c0d1.slotKey, 1L << OFF_0_2, 0, WORD_X); // Conflict at the end
|
||||
assertFalse(GridBuilder.placeWord(grid.grid(), grid.grid().g, r0c0d1.slotKey, r0c0.or(r0c1).or(r0c2).lo(), X, ABC));
|
||||
map = grid.stream().collect(Collectors.toMap(Lettrix::index, Lettrix::letter));
|
||||
map = new Puzzle(grid.grid(), grid.cl()).collect(Collectors.toMap(Mask::index, Mask::d));
|
||||
assertEquals(1, map.size());
|
||||
assertEquals(LETTER_X, map.get(OFF_0_2));
|
||||
}
|
||||
@@ -321,14 +321,14 @@ public class SwedishGeneratorTest {
|
||||
var placed = GridBuilder.placeWord(grid.grid(), grid.grid().g, r0c0d1.slotKey, r0c1.or(r0c2).lo(), X, AZ);
|
||||
assertTrue(placed);
|
||||
|
||||
var map = grid.collect(Collectors.toMap(Lettrix::index, Lettrix::letter));
|
||||
var map = new Puzzle(grid.grid(), grid.cl()).collect(Collectors.toMap(Mask::index, Mask::d));
|
||||
assertEquals(2, map.size());
|
||||
assertEquals(LETTER_A, map.get(OFF_0_1));
|
||||
assertEquals(LETTER_Z, map.get(OFF_0_2));
|
||||
|
||||
grid.grid().hi = top;
|
||||
grid.grid().lo = low;
|
||||
map = grid.collect(Collectors.toMap(Lettrix::index, Lettrix::letter));
|
||||
map = grid.collect(Collectors.toMap(Mask::index, Mask::d));
|
||||
assertEquals(0, map.size());
|
||||
assertFalse(map.containsKey(OFF_0_1));
|
||||
assertFalse(map.containsKey(OFF_0_2));
|
||||
|
||||
@@ -40,7 +40,7 @@ public class TestDuplication {
|
||||
var result = new ExportX_Const3x4.PuzzleResult(new Signa(mask.c()), grid1, slots, filled);
|
||||
if (filled.ok()) {
|
||||
System.out.println(filled);
|
||||
val res = result.exportFormatFromFilled(new Rewards(0, 0, 0), Masker_Neighbors3x4.IT);
|
||||
val res = result.exportFormatFromFilled(new Rewards(0, 0, 0));
|
||||
System.out.println(String.join("\n", res.grid()));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user