Ejemplo n.º 1
0
 public static TestBoardSource CreateDefault()
 {
     return(new TestBoardSource(5, 5, 0, new[]
     {
         Peg.CreateMissingPeg(1, 1),
         Peg.CreateMissingPeg(2, 1),
         Peg.CreateMissingPeg(3, 2),
     }));
 }
Ejemplo n.º 2
0
        public void PegsFactoryCreateOnMissingPegTest()
        {
            // Arrange
            var pegsFactory = new Peg.Factory(5, 9, new []
            {
                Peg.CreateMissingPeg(2, 1)
            });

            // Act
            var actual = pegsFactory.CreatePeg(2, 2);

            // Assert
            Assert.IsTrue(actual.IsMissingPeg);
        }
Ejemplo n.º 3
0
        public void PegsFactoryCreateUpAndRightFromTest()
        {
            // Arrange
            var pegsFactory = new Peg.Factory(5, 9, new []
            {
                Peg.CreateMissingPeg(2, 1)
            });
            var currentPeg = pegsFactory.CreatePeg(5, 1);

            // Act
            var actual  = pegsFactory.CreateUpAndRigthFrom(currentPeg);
            var actual2 = pegsFactory.CreateUpAndRigthFrom(actual);
            var actual3 = pegsFactory.CreateUpAndLeftFrom(actual2);

            // Assert
            Assert.AreEqual(Peg.Create(4, 2), actual);
            Assert.AreEqual(Peg.Create(3, 3), actual2);
            Assert.IsTrue(actual3.IsMissingPeg);
        }
        public void PoorManMemoizingPegsSolutionResolveWith11x11Test()
        {
            // Arrange
            var pegBoard = PegBoard.FromSource(new TestBoardSource(11, 11, 2, new[]
            {
                Peg.CreateMissingPeg(1, 1),
                Peg.CreateMissingPeg(2, 1),
                Peg.CreateMissingPeg(3, 2),
            }));
            var pegsBoardIterator = PoorManMemoizingPegsSolution.Create(pegBoard);

            // Act
            pegsBoardIterator.Resolve();
            var actual = pegsBoardIterator.GetBestPositions();

            // Assert
            Assert.IsNotNull(actual);
            Assert.IsTrue(actual.ElementAt(0).Probability <= 1);
        }
        public void PoorManMemoizingPegsSolutionResolveWithFreefallSolutionTest()
        {
            // Arrange
            var pegBoard = PegBoard.FromSource(new TestBoardSource(5, 5, 1, new[]
            {
                Peg.CreateMissingPeg(1, 1),
                Peg.CreateMissingPeg(2, 1),
                Peg.CreateMissingPeg(3, 1),
            }));
            var pegsBoardIterator = PoorManMemoizingPegsSolution.Create(pegBoard);

            // Act
            pegsBoardIterator.Resolve();
            var actual = pegsBoardIterator.GetBestPositions();

            // Assert
            Assert.IsNotNull(actual);
            Assert.AreEqual(Peg.Create(1, 3), actual.ElementAt(0));
            Assert.AreEqual(1, actual.ElementAt(0).Probability);
        }
Ejemplo n.º 6
0
 public void Setup()
 {
     _mockPegBoardSource = new Mock <IPegBoardSource>();
     _mockPegBoardSource
     .Setup(pegSource => pegSource.Columns)
     .Returns(Columns);
     _mockPegBoardSource
     .Setup(pegSource => pegSource.Rows)
     .Returns(Rows);
     _mockPegBoardSource
     .Setup(pegSource => pegSource.Goal)
     .Returns(Goal);
     _mockPegBoardSource
     .Setup(pegSource => pegSource.MissingPegs)
     .Returns(new[]
     {
         Peg.CreateMissingPeg(1, 1),
         Peg.CreateMissingPeg(2, 1),
         Peg.CreateMissingPeg(3, 2),
     });
 }