Gather data

This commit is contained in:
mike
2026-01-09 22:42:33 +01:00
parent 183216e753
commit e8a1ab6d19
3 changed files with 37 additions and 28 deletions

View File

@@ -103,6 +103,12 @@ public class SwedishGeneratorTest {
@Test
void testLemmaAndDict() {
var l2a = new Lemma("IN", 1, "BIJ");
var l4a = new Lemma("INER", 1, "BIJER");
var l6a = new Lemma("INEREN", 1, "BIJERE");
var l7a = new Lemma("INERENA", 1, "BIJERE");
var l8a = new Lemma("INERENAE", 1, "BIJERE");
var l1 = new Lemma("APPLE", 5, "A fruit");
Assertions.assertArrayEquals("APPLE".getBytes(StandardCharsets.US_ASCII), l1.word());
assertEquals(5, l1.word().length);
@@ -110,10 +116,10 @@ public class SwedishGeneratorTest {
assertEquals((byte) 'A', l1.byteAt(0));
var l2 = new Lemma("AXE", 2, "A tool");
var dict = new Dict(new Lemma[]{ l1, l2 });
var dict = new Dict(new Lemma[]{ l1, l2, l2a, l4a, l6a, l7a, l8a });
assertEquals(1, dict.lenCounts()[3]);
assertEquals(1, dict.lenCounts()[5]);
assertEquals(1, dict.index()[3].words().size());
assertEquals(1, dict.index()[5].words().size());
var entry3 = dict.index()[3];
assertEquals(1, entry3.words().size());
@@ -173,10 +179,16 @@ public class SwedishGeneratorTest {
@Test
void testCandidateInfoForPattern() {
var l0 = new Lemma("IN", 1, "BIJ");
var l3a = new Lemma("INE", 1, "BIJE");
var l4a = new Lemma("INER", 1, "BIJER");
var l6a = new Lemma("INEREN", 1, "BIJERE");
var l7a = new Lemma("INERENA", 1, "BIJERE");
var l8a = new Lemma("INERENAE", 1, "BIJERE");
var l1 = new Lemma("APPLE", 1, "fruit");
var l2 = new Lemma("APPLY", 1, "verb");
var l3 = new Lemma("BANAN", 1, "fruit");
var dict = new Dict(new Lemma[]{ l1, l2, l3 });
var dict = new Dict(new Lemma[]{ l0, l1, l2, l3, l3a, l4a, l6a, l7a, l8a });
var gen = new SwedishGenerator();
// Pattern "APP--" for length 5
@@ -225,12 +237,12 @@ public class SwedishGeneratorTest {
lenCounts[8] = 10; // In case MAX_WORD_LENGTH is 8
// Empty grid should have high penalty (no slots)
var f1 = gen.maskFitness(grid, lenCounts);
var f1 = gen.maskFitness(grid);
assertTrue(f1 >= 1_000_000_000L);
// Add a slot
grid.setClue(0, SwedishGenerator.OFFSETS[2].dbyte());
var f2 = gen.maskFitness(grid, lenCounts);
var f2 = gen.maskFitness(grid);
assertTrue(f2 < f1);
}
@@ -251,7 +263,7 @@ public class SwedishGeneratorTest {
var lenCounts = new int[12];
Arrays.fill(lenCounts, 10);
var g4 = gen.hillclimb(rng, g1, lenCounts, 10);
var g4 = gen.hillclimb(rng, g1, 10);
assertNotNull(g4);
}