public void BasicThreading() { var pTxt = @"###########~ #P..#..#..#~ #..X#X...X#~ ##..#OO#..#~ ~#..#OO#..#~ ~#..#OO#..## ~#X...X#X..# ~#..#..#...# ~###########"; var puzzle = new Puzzle(pTxt); var exit = new ExitConditions() { Duration = TimeSpan.FromSeconds(60), StopOnSolution = true, TotalNodes = int.MaxValue, TotalDead = int.MaxValue }; // arrange var solver = new MultiThreadedForwardReverseSolver(); var command = new SolverCommand() { Puzzle = new Puzzle(puzzle), Report = Console.Out, ExitConditions = exit, Progress = new ConsoleProgressNotifier() }; // act var result = solver.Init(command); solver.Solve(result); Assert.That(result, Is.Not.Null); Console.WriteLine(result.ExitDescription); Console.WriteLine(SolverHelper.Summary(result)); result.ThrowErrors(); // assert Assert.That(result, Is.Not.Null); }
public ProgressUpater(MultiThreadedForwardReverseSolver solver, CommandResult commandResult) { this.solver = solver; this.commandResult = commandResult; }