private void AddNeghbourTiles(Tile tile) { var neighbours = neighbourTilesHelper.GetNeighbourTiles(tile); foreach (var neighbourTile in neighbours) { if (!AlreadyExists(neighbourTile)) { neighbourTiles.Add(neighbourTile); } } }
public IEnumerable<Tile> GetNeighbourTiles(Tile tile) { this.tile = tile; neighbours = new List<Tile>(); GetNorthNeighbour(); GetSouthNeighbour(); GetWestNeighbour(); GetEastNeighbour(); return neighbours; }
public void Should_return_list_of_neighbours_for_a_given_tile() { var tile = new Tile {XCoordinate = 2, YCoordinate = 2}; var boardTiles = new List<Tile> { new Tile{XCoordinate = 1, YCoordinate = 1}, new Tile{XCoordinate = 1, YCoordinate = 2}, new Tile{XCoordinate = 1, YCoordinate = 3}, new Tile{XCoordinate = 2, YCoordinate = 1}, new Tile{XCoordinate = 2, YCoordinate = 3}, new Tile{XCoordinate = 3, YCoordinate = 1}, new Tile{XCoordinate = 3, YCoordinate = 2}, new Tile{XCoordinate = 3, YCoordinate = 3}, }; var neighbourTilesHelper = new NeighbourTilesHelper(boardTiles); var neighbourTiles = neighbourTilesHelper.GetNeighbourTiles(tile).ToList(); Assert.That(neighbourTiles.Count(), Is.EqualTo(4)); Assert.That(neighbourTiles.Any(i => i.XCoordinate == 1 && i.YCoordinate == 2), Is.EqualTo(true)); Assert.That(neighbourTiles.Any(i => i.XCoordinate == 2 && i.YCoordinate == 3), Is.EqualTo(true)); Assert.That(neighbourTiles.Any(i => i.XCoordinate == 3 && i.YCoordinate == 2), Is.EqualTo(true)); Assert.That(neighbourTiles.Any(i => i.XCoordinate == 2 && i.YCoordinate == 1), Is.EqualTo(true)); }
public void Should_set_tile_color() { var tile = new Tile {Color = Color.Blue}; Assert.That(tile.Color, Is.EqualTo(Color.Blue)); }
private bool AlreadyExists(Tile neighbourTile) { return neighbourTiles.Any( i => i.XCoordinate == neighbourTile.XCoordinate && i.YCoordinate == neighbourTile.YCoordinate); }