public void PegBoardFileParseIntegrationTest()
        {
            // Arrange

            // Act
            var pegBoardFileSource = PegBoardFileSource.ParseFile("./PageBoardFile1.txt");

            // Assert
            Assert.AreEqual(5, pegBoardFileSource.Rows);
            Assert.AreEqual(5, pegBoardFileSource.Columns);
            Assert.AreEqual(0, pegBoardFileSource.Goal);
            Assert.AreEqual(3, pegBoardFileSource.MissingPegs.Count());
            Assert.AreEqual(Peg.Create(1, 1), pegBoardFileSource.MissingPegs.ElementAt(0));
            Assert.AreEqual(Peg.Create(2, 1), pegBoardFileSource.MissingPegs.ElementAt(1));
            Assert.AreEqual(Peg.Create(3, 2), pegBoardFileSource.MissingPegs.ElementAt(2));
        }
Beispiel #2
0
        private static void StartGame()
        {
            while (true)
            {
                var filePath = ReadFilePath();
                var pegBoard = PegBoard.FromSource(
                    PegBoardFileSource.ParseFile(filePath)
                    );

                var pegsBoardSolution = PoorManMemoizingPegsSolution.Create(pegBoard);
                pegsBoardSolution.Resolve();
                PrintSolution(pegBoard, pegsBoardSolution.GetBestPositions());

                Console.WriteLine("Would you like to play one more time? yes/no");
                var answer = Console.ReadLine();
                if (answer == "no" || answer == "n")
                {
                    break;
                }
            }
        }