Exemple #1
0
        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"));
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }