Example #1
0
    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);
        });
    }
Example #2
0
    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();
        }
Example #4
0
        private async void btnSolve_Click(object sender, EventArgs e)
        {
            Pause();
            PuzzleSolver solver = new PuzzleSolver(puzzle);

            answer = await solver.SolveAsync();

            Continue();

            timerSolving.Start();
        }