Search in sources :

Example 11 with RecursiveMinoFields

use of searcher.pack.mino_fields.RecursiveMinoFields in project solution-finder by knewjade.

the class MappedBasicSolutionsTest method get3x3.

@Test
void get3x3() throws Exception {
    SizedBit sizedBit = new SizedBit(3, 3);
    SeparableMinos separableMinos = createSeparableMinos(sizedBit);
    BasicSolutionsCalculator calculator = new BasicSolutionsCalculator(separableMinos, sizedBit);
    Map<ColumnField, RecursiveMinoFields> calculate = calculator.calculate();
    BasicSolutions solutions = new MappedBasicSolutions(calculate);
    MinoFields minoFields = solutions.parse(ColumnFieldFactory.createField());
    Stream<? extends MinoField> stream = minoFields.stream();
    assertThat(stream.count()).isEqualTo(278L);
}
Also used : RecursiveMinoFields(searcher.pack.mino_fields.RecursiveMinoFields) MinoFields(searcher.pack.mino_fields.MinoFields) SeparableMinos(searcher.pack.SeparableMinos) SizedBit(searcher.pack.SizedBit) ColumnField(core.column_field.ColumnField) RecursiveMinoFields(searcher.pack.mino_fields.RecursiveMinoFields) BasicSolutions(searcher.pack.calculator.BasicSolutions) Test(org.junit.jupiter.api.Test)

Example 12 with RecursiveMinoFields

use of searcher.pack.mino_fields.RecursiveMinoFields in project solution-finder by knewjade.

the class PackSearcherTest method createMappedBasicSolutions.

private BasicSolutions createMappedBasicSolutions(SizedBit sizedBit) {
    SeparableMinos separableMinos = SeparableMinos.createSeparableMinos(minoFactory, minoShifter, sizedBit);
    BasicSolutionsCalculator calculator = new BasicSolutionsCalculator(separableMinos, sizedBit);
    Map<ColumnField, RecursiveMinoFields> calculate = calculator.calculate();
    return new MappedBasicSolutions(calculate);
}
Also used : SeparableMinos(searcher.pack.SeparableMinos) ColumnField(core.column_field.ColumnField) BasicSolutionsCalculator(searcher.pack.solutions.BasicSolutionsCalculator) MappedBasicSolutions(searcher.pack.solutions.MappedBasicSolutions) RecursiveMinoFields(searcher.pack.mino_fields.RecursiveMinoFields)

Aggregations

ColumnField (core.column_field.ColumnField)12 RecursiveMinoFields (searcher.pack.mino_fields.RecursiveMinoFields)12 SeparableMinos (searcher.pack.SeparableMinos)11 SizedBit (searcher.pack.SizedBit)7 BasicSolutions (searcher.pack.calculator.BasicSolutions)7 Test (org.junit.jupiter.api.Test)6 MinoFields (searcher.pack.mino_fields.MinoFields)6 Field (core.field.Field)3 BasicSolutionsCalculator (searcher.pack.solutions.BasicSolutionsCalculator)3 MappedBasicSolutions (searcher.pack.solutions.MappedBasicSolutions)3 OperationWithKey (common.datastore.OperationWithKey)1 PieceCounter (common.datastore.PieceCounter)1 ColumnSmallField (core.column_field.ColumnSmallField)1 SmallField (core.field.SmallField)1 Piece (core.mino.Piece)1 List (java.util.List)1 Objects (java.util.Objects)1 Callable (java.util.concurrent.Callable)1 Stream (java.util.stream.Stream)1 Stopwatch (lib.Stopwatch)1