public async Task Can_Solve_Puzzle_With_Input_And_Input_File( string year, string day, string[] arguments, string[] expected) { // Arrange var browser = new BrowserFixture(OutputHelper); await browser.WithPageAsync(async (page) => { PuzzleSolver solver = await LoadApplication(page); await solver.SelectYearAsync(year); await solver.SelectDayAsync(day); await solver.InputArgumentsAsync(arguments); string input = await GetPuzzleInputAsync(year, day); await solver.SelectInputAsync(input); // Act await solver.SolveAsync(); // Assert await solver.SolutionsAsync().ShouldBe(expected); }); }
public async Task Can_Solve_Puzzle_With_Visualization() { // Arrange string year = "2016"; string day = "8"; var browser = new BrowserFixture(OutputHelper); await browser.WithPageAsync(async (page) => { PuzzleSolver solver = await LoadApplication(page); await solver.SelectYearAsync(year); await solver.SelectDayAsync(day); string input = await GetPuzzleInputAsync(year, day); await solver.SelectInputAsync(input); // Act await solver.SolveAsync(); // Assert await solver.SolutionsAsync().ShouldBe(new[] { "121", "RURUCEOEIL" }); await solver.VisualizationsAsync().ShouldBe(1); }); }
private static void AutoSolve(Puzzle puzzle) { Console.Clear(); PrintTemplates.Logo2(); Console.WriteLine("\n Searching for the shortest answer, Please wait.. !\n"); PuzzleSolver solver = new PuzzleSolver(puzzle); PuzzleAnswer answer = solver.SolveAsync().Result; if (answer != null) { foreach (var item in answer.Path) { Console.WriteLine(item); } Console.WriteLine("\tTested States Count: " + answer.TestedStatesCount); Console.WriteLine("\tShortest Answer Steps Count: " + answer.StepsCount); } else { Console.WriteLine("\tSorry, we couldn't find any answer!"); } Console.WriteLine("\n\tPress any key to exit.."); Console.ReadKey(); }
private async void btnSolve_Click(object sender, EventArgs e) { Pause(); PuzzleSolver solver = new PuzzleSolver(puzzle); answer = await solver.SolveAsync(); Continue(); timerSolving.Start(); }