introduce bitloops
This commit is contained in:
@@ -309,18 +309,18 @@ public class SwedishGeneratorTest {
|
||||
var lo = (1L << Grid.offset(0, 0)) | (1L << Grid.offset(0, 1)) | (1L << Grid.offset(0, 2));
|
||||
var s = Slot.from(key, lo, 0L);
|
||||
var w1 = Lemma.from("ABC");
|
||||
var undoBuffer = new int[10];
|
||||
var undoBuffer = new long[10];
|
||||
|
||||
// 1. Successful placement in empty grid
|
||||
assertTrue(placeWord(grid, s, w1, undoBuffer, 0));
|
||||
assertEquals('A', grid.byteAt(0));
|
||||
assertEquals('B', grid.byteAt(Grid.offset(0, 1)));
|
||||
assertEquals('C', grid.byteAt(Grid.offset(0, 2)));
|
||||
assertEquals(0b111L, undoBuffer[0]);
|
||||
assertEquals(lo, undoBuffer[0]);
|
||||
|
||||
// 2. Successful placement with partial overlap (same characters)
|
||||
assertTrue(placeWord(grid, s, w1, undoBuffer, 1));
|
||||
assertEquals(0L, undoBuffer[1]); // 0 new characters placed
|
||||
assertEquals(0L, undoBuffer[2]); // 0 new characters placed
|
||||
|
||||
// 3. Conflict: place "ABD" where "ABC" is
|
||||
var w2 = Lemma.from("ABD");
|
||||
@@ -348,15 +348,15 @@ public class SwedishGeneratorTest {
|
||||
var lo = (1L << Grid.offset(0, 1)) | (1L << Grid.offset(0, 2));
|
||||
var s = Slot.from(key, lo, 0L);
|
||||
var w = Lemma.from("AZ");
|
||||
var undoBuffer = new int[10];
|
||||
var undoBuffer = new long[10];
|
||||
|
||||
var placed = placeWord(grid, s, w, undoBuffer, 0);
|
||||
assertTrue(placed);
|
||||
assertEquals('A', grid.byteAt(Grid.offset(0, 1)));
|
||||
assertEquals('Z', grid.byteAt(Grid.offset(0, 2)));
|
||||
assertEquals(0b11L, undoBuffer[0]);
|
||||
assertEquals(lo, undoBuffer[0]);
|
||||
|
||||
s.undoPlace(grid, undoBuffer[0]);
|
||||
grid.undoPlace( undoBuffer[0], undoBuffer[1]);
|
||||
assertEquals(DASH, grid.byteAt(Grid.offset(0, 1)));
|
||||
assertEquals(DASH, grid.byteAt(Grid.offset(0, 2)));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user