Example #1
0
 protected sealed override void SolverInit()
 {
     Solver = new PicrossSolver(Grid.RowCount, Grid.ColumnCount, Grid.Rows, Grid.Columns)
     {
         AnswerGrid = Grid.AnswerGrid
     };
 }
Example #2
0
        public void AllSolvePartsAreCollectedInList()
        {
            var solver     = new PicrossSolver(0, 0, new List <Classifier>(), new List <Classifier>());
            var solverType = typeof(PicrossSolver);
            var methods    = solverType.GetMethods(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic).Where(m => m.Name.StartsWith("Solve_Part_")).ToList();

            Assert.IsTrue(methods.Count > 0);
            Assert.AreEqual(methods.Count, solver.SolvePartActions.Count);
        }
Example #3
0
 private void LoadData(string path, bool doubleSolve = false)
 {
     GridHelpers.ResetCache();
     _grid   = new PicrossGrid(path, GridInitializerEnum.ImageFilePath);
     _solver = new PicrossSolver(_grid.RowCount, _grid.ColumnCount, _grid.Rows, _grid.Columns);
     _solver.Solve();
     if (doubleSolve)
     {
         _solver.Solve();
     }
     Rows = new List <RowPresenter>();
     for (int i = 0; i < _grid.RowCount; i++)
     {
         Rows.Add(new RowPresenter(_solver.WorkingGrid.GetRow(i)));
     }
     Notify(() => Rows);
     RowClassifiers    = _solver.Rows.Select(r => new ClassifierPresenter(r)).ToList();
     ColumnClassifiers = _solver.Columns.Select(c => new ClassifierPresenter(c)).ToList();
 }