package puzzle;

import puzzle.Masker_Neighbors4x3;
import gen.Test123X_Neighbors4x3;
import gen.Test123X_Neighbors9x8;
import lombok.val;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import puzzle.Export.Signa;
import puzzle.Export.Vestigium;
import puzzle.dict800.DictData800;
import puzzle.dict950.DictData950;
import java.util.stream.Collectors;
import static precomp.Const9x8.Cell.r0c0d1;
import static precomp.Const9x8.Cell.r1c0d1;
import static precomp.Const9x8.Cell.r2c0d1;
import static precomp.Const9x8.Cell.r3c0d1;
public class TestDuplication {
   
   @Test
   void test() {
      Test123.start();
      Test123X_Neighbors4x3.start();
      Test123X_Neighbors9x8.start();
   }
   @Test
   void testFiller2() {
      var mask = Signa.of(
              r0c0d1,
              r1c0d1,
              r2c0d1,
              r3c0d1);
      Assertions.assertEquals(4, mask.clueCount());
      val map = mask.stream().collect(Collectors.toMap(Vestigium::index, Vestigium::clue));
      Assertions.assertEquals(4, map.size());
      var slots = Masker_Neighbors4x3.slots(mask.c(), DictData800.DICT800);
      //  var filled   = fillMask(rng, slotInfo, grid, false);
      //   val res      = new PuzzleResult(new Clued(mask), new Gridded(grid), slotInfo, filled).exportFormatFromFilled(0, new Rewards(0, 0, 0));
   }
}
