public void GetEstablishmentsWillReturnForAllAdjacentTiles() { var board = new Board(builder); var vertex = board.Vertices.Single(v => v.X == -1 && v.Y == 1 && v.Side == VertexTileSide.Right); var player = new Mock<IPlayer>(); player.Setup(p => p.HasResources(Establishment.BUILD_RESOURCES)).Returns(true); //add an establisment var establisment = board.BuildEstablishment(vertex, player.Object); var tile1 = new Mock<ITile>(); tile1.Setup(t => t.X).Returns(0); tile1.Setup(t => t.Y).Returns(0); var tile2 = new Mock<ITile>(); tile2.Setup(t => t.X).Returns(0); tile2.Setup(t => t.Y).Returns(1); var tile3 = new Mock<ITile>(); tile3.Setup(t => t.X).Returns(-1); tile3.Setup(t => t.Y).Returns(1); //validate we get it back, if we ask for it from all aligining tiles var result1 = board.GetEstablishments(tile1.Object); var result2 = board.GetEstablishments(tile2.Object); var result3 = board.GetEstablishments(tile3.Object); Assert.Contains(establisment, result1); Assert.Contains(establisment, result2); Assert.Contains(establisment, result3); }
public void GetEstablismentsWillReturnAllEstablismentOnATile() { var board = new Board(builder); var vertex1 = board.Vertices.Single(v => v.X == -1 && v.Y == 1 && v.Side == VertexTileSide.Right); var vertex2 = board.Vertices.Single(v => v.X == -1 && v.Y == 1 && v.Side == VertexTileSide.Left); var player = new Mock<IPlayer>(); player.Setup(p => p.HasResources(Establishment.BUILD_RESOURCES)).Returns(true); //add an establisment var establisment1 = board.BuildEstablishment(vertex1, player.Object); var establisment2 = board.BuildEstablishment(vertex2, player.Object); var tile = new Mock<ITile>(); tile.Setup(t => t.X).Returns(-1); tile.Setup(t => t.Y).Returns(1); var result = board.GetEstablishments(tile.Object); Assert.Equal(new[] { establisment1, establisment2 }, result); }
public void GetEstablismentNullExcpetion() { var board = new Board(builder); Assert.Throws<ArgumentNullException>(() => board.GetEstablishments((ITile)null)); }