public static TestBoardSource CreateDefault() { return(new TestBoardSource(5, 5, 0, new[] { Peg.CreateMissingPeg(1, 1), Peg.CreateMissingPeg(2, 1), Peg.CreateMissingPeg(3, 2), })); }
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); }
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); }
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), }); }