@Test public void getTilesInDirection() { Set<Tile> tiles = new HashSet<>(); tiles.add(Tile.at(1, 1)); tiles.add(Tile.at(1, 2)); tiles.add(Tile.at(2, 1)); tiles.add(Tile.at(2, 2)); Area area = new Area(0, tiles); Set<Tile> result = area.tilesIn(Direction.LEFT); assertEquals(2, result.size()); assertTrue(result.contains(Tile.at(1, 1))); assertTrue(result.contains(Tile.at(1, 2))); result = area.tilesIn(Direction.DOWN); assertEquals(2, result.size()); assertTrue(result.contains(Tile.at(1, 2))); assertTrue(result.contains(Tile.at(2, 2))); result = area.tilesIn(Direction.RIGHT); assertEquals(2, result.size()); assertTrue(result.contains(Tile.at(2, 1))); assertTrue(result.contains(Tile.at(2, 2))); result = area.tilesIn(Direction.UP); assertEquals(2, result.size()); assertTrue(result.contains(Tile.at(1, 1))); assertTrue(result.contains(Tile.at(2, 1))); }