use of core.neighbor.OriginalPiece in project solution-finder by knewjade.
the class MiddleFieldTest method testCanReachOnHarddrop2.
@Test
void testCanReachOnHarddrop2() throws Exception {
Randoms randoms = new Randoms();
MiddleField field = createRandomMiddleField(randoms);
String string = FieldView.toString(field);
ArrayList<OriginalPiece> pieces = createAllPieces(field.getMaxFieldHeight());
for (OriginalPiece piece : pieces) {
Mino mino = piece.getMino();
int x = piece.getX();
int y = piece.getY();
assertThat(field.canReachOnHarddrop(piece)).as(string + piece.toString()).isEqualTo(field.canPut(mino, x, y) && field.canReachOnHarddrop(mino, x, y));
}
}
use of core.neighbor.OriginalPiece in project solution-finder by knewjade.
the class MiddleFieldTest method testCanPutPiece.
@Test
void testCanPutPiece() {
Randoms randoms = new Randoms();
MiddleField field = createRandomMiddleField(randoms);
int maxFieldHeight = field.getMaxFieldHeight();
ArrayList<OriginalPiece> pieces = createAllPieces(maxFieldHeight);
for (OriginalPiece piece : pieces) {
Mino mino = piece.getMino();
int x = piece.getX();
int y = piece.getY();
assertThat(field.canPut(piece)).as("%s (%d, %d)", mino, x, y).isEqualTo(field.canPut(mino, x, y));
}
}
use of core.neighbor.OriginalPiece in project solution-finder by knewjade.
the class MiddleFieldTest method testPutAndRemovePiece.
@Test
void testPutAndRemovePiece() throws Exception {
MiddleField field = FieldFactory.createMiddleField();
int maxFieldHeight = field.getMaxFieldHeight();
ArrayList<OriginalPiece> pieces = createAllPieces(maxFieldHeight);
for (OriginalPiece piece : pieces) {
// Initialize
Mino mino = piece.getMino();
int x = piece.getX();
int y = piece.getY();
// Expect
MiddleField expected = FieldFactory.createMiddleField();
expected.put(mino, x, y);
// Test
field.put(piece);
assertThat(field).as("%s (%d, %d)", mino, x, y).isEqualTo(expected);
field.remove(piece);
assertThat(field.isPerfect()).as("%s (%d, %d)", mino, x, y).isTrue();
}
}
use of core.neighbor.OriginalPiece in project solution-finder by knewjade.
the class SmallFieldTest method testPutAndRemovePiece.
@Test
void testPutAndRemovePiece() throws Exception {
SmallField field = FieldFactory.createSmallField();
int maxFieldHeight = field.getMaxFieldHeight();
ArrayList<OriginalPiece> pieces = createAllPieces(maxFieldHeight);
for (OriginalPiece piece : pieces) {
// Initialize
Mino mino = piece.getMino();
int x = piece.getX();
int y = piece.getY();
// Expect
SmallField expected = FieldFactory.createSmallField();
expected.put(mino, x, y);
// Test
field.put(piece);
assertThat(field).as("%s (%d, %d)", mino, x, y).isEqualTo(expected);
field.remove(piece);
assertThat(field.isPerfect()).as("%s (%d, %d)", mino, x, y).isTrue();
}
}
use of core.neighbor.OriginalPiece in project solution-finder by knewjade.
the class SmallFieldTest method testCanReachOnHarddrop2.
@Test
void testCanReachOnHarddrop2() throws Exception {
Randoms randoms = new Randoms();
SmallField field = createRandomSmallField(randoms);
String string = FieldView.toString(field);
ArrayList<OriginalPiece> pieces = createAllPieces(field.getMaxFieldHeight());
for (OriginalPiece piece : pieces) {
Mino mino = piece.getMino();
int x = piece.getX();
int y = piece.getY();
assertThat(field.canReachOnHarddrop(piece)).as(string + piece.toString()).isEqualTo(field.canPut(mino, x, y) && field.canReachOnHarddrop(mino, x, y));
}
}
Aggregations