public void PotentialMobility() { var gameState = GameState.NewGame(); var actual = Play.PotentialMobilityOneDirection(Play.Left, gameState.PlayerPieces, gameState.EmptySquares); var expected = "c5"; Assert.AreEqual(expected, ((short?)actual.Indices().Single()).ToAlgebraicNotation()); actual = Play.PotentialMobilityOneDirection(Play.UpLeft, gameState.PlayerPieces, gameState.EmptySquares); Assert.AreEqual("d3", ((short?)(actual.Indices().ToList()[0])).ToAlgebraicNotation()); Assert.AreEqual("c4", ((short?)(actual.Indices().ToList()[1])).ToAlgebraicNotation()); actual = Play.PotentialMobilityOneDirection(Play.Up, gameState.PlayerPieces, gameState.EmptySquares); expected = "e3"; Assert.AreEqual(expected, ((short?)actual.Indices().Single()).ToAlgebraicNotation()); actual = Play.PotentialMobility(gameState.PlayerPieces, gameState.EmptySquares); var plays = actual.Indices().Select(x => ((short?)x).ToAlgebraicNotation()).ToList(); Assert.AreEqual(10, plays.Count); Assert.IsTrue(plays.Contains("d3")); Assert.IsTrue(plays.Contains("e3")); Assert.IsTrue(plays.Contains("f3")); Assert.IsTrue(plays.Contains("f4")); Assert.IsTrue(plays.Contains("f5")); Assert.IsTrue(plays.Contains("e6")); Assert.IsTrue(plays.Contains("d6")); Assert.IsTrue(plays.Contains("c6")); Assert.IsTrue(plays.Contains("c5")); Assert.IsTrue(plays.Contains("c4")); Assert.IsTrue(plays.Contains("c4")); }
public void FlipDiagA8H1Test() { var gameState1 = GameState.NewGame(); var gameState2 = gameState1; var plays = gameState1.PlayerPlays.Indices().ToList(); gameState1.Draw(); gameState1.PlacePiece(plays[0]); gameState1.Draw(); gameState1 = gameState1.FlipDiagA8H1(); gameState1.Draw(); gameState2.PlacePiece(plays[2]); gameState2.Draw(); Assert.AreEqual(gameState2.PlayerPieces, gameState1.PlayerPieces); }
public void Rotate180Test() { var gameState1 = GameState.NewGame(); var gameState2 = gameState1; var plays = gameState1.PlayerPlays.Indices().ToList(); gameState1.Draw(); gameState1.PlacePiece(plays[0]); gameState1.Draw(); gameState1 = gameState1.Rotate180(); gameState1.Draw(); gameState2.PlacePiece(plays[3]); gameState2.Draw(); Assert.AreEqual(gameState2.PlayerPieces, gameState1.PlayerPieces); }