Exemplo n.º 1
0
        public void Equals_GivenOtherPosition_ShouldReturn(string position, bool expected)
        {
            var piece = new FakePiece("d5");

            var actual = piece.Equals(position);

            actual.Should().Be(expected);
        }
Exemplo n.º 2
0
        public void Equals_GivenOtherPieceBase_ShouldReturn(string position, PieceColor pieceColor, bool expected)
        {
            var piece = new FakePiece("d5");

            var actual = piece.Equals(new FakePiece(position, pieceColor));

            actual.Should().Be(expected);
        }
Exemplo n.º 3
0
        public void IsFirstMove_GivenPieceBase_ShouldReturn(string[] logMoves, bool expected)
        {
            var piece = new FakePiece(
                "a2",
                pieceColor: WhitePiece,
                logMoves.Select(item => (Position)item).ToList());

            piece.IsFirstMove.Should().Be(expected);
        }
Exemplo n.º 4
0
            public void SetUp()
            {
                fixture = new Fixture()
                    .Customize(new AutoMoqCustomization());
                maximum = fixture.Create<Position>();
                pieceBagMock = fixture.Freeze<Mock<IPieceBag>>();

                piece = fixture.Build<FakePiece>()
                    .With(x => x.Position, new Position(maximum.X - 1, maximum.Y - 1))
                    .Create();

                occupyingPiece = null;
                pieceBagMock.Setup(x => x.GetPiece(piece.Position))
                    .Returns(() => occupyingPiece);

                contiguousOpponentPiecesMock = fixture.Freeze<Mock<IContiguousOpponentPieces>>();
                fixture.Register(() => new Board(maximum, pieceBagMock.Object, contiguousOpponentPiecesMock.Object));
            }
Exemplo n.º 5
0
            public void CanPlay_WhenPositionIsOutOfBounds_ShouldThrowInvalidOperationException()
            {
                // Arrange
                var subject = fixture.Create<Board>();
                var outOfBounds = new Position(subject.MaximumPosition.X + 1, subject.MaximumPosition.Y + 1);
                piece = fixture.Build<FakePiece>()
                    .With(x => x.Position, outOfBounds)
                    .Create();

                // Act
                TestDelegate action = () => subject.Play(piece);

                // Assert
                Assert.Throws<InvalidOperationException>(action);
            }
Exemplo n.º 6
0
            public void CanPlay_WhenPositionIsOutOfBounds_ShouldReturnFalse()
            {
                // Arrange
                var subject = fixture.Create<Board>();
                var outOfBounds = new Position(subject.MaximumPosition.X + 1, subject.MaximumPosition.Y + 1);
                piece = fixture.Build<FakePiece>()
                    .With(x => x.Position, outOfBounds)
                    .Create();

                // Act
                var result = subject.CanPlay(piece);

                // Assert
                Assert.That(result, Is.False);
            }
 public void SetUp()
 {
     fixture = new Fixture()
         .Customize(new AutoMoqCustomization());
     pieceBagMock = fixture.Freeze<Mock<IPieceBag>>();
     directionMock = fixture.Freeze<Mock<Direction>>();
     startingPiece = fixture.Build<FakePiece>()
         .With(x => x.Side, Side.Black)
         .Create();
 }
Exemplo n.º 8
0
        public void PieceColor_GivenPlayer_ShouldReturn(PieceColor pieceColor)
        {
            var piece = new FakePiece("a2", pieceColor);

            piece.Color.Should().Be(pieceColor);
        }