### Question:
TileSetCoordinateSpace { public Envelope<C2D> boundingBox(TileCoordinate coordinate) { double width = tileDimension.getWidth() * unitsPerPixel; double height = tileDimension.getHeight() * unitsPerPixel; double x = origin.getPosition().getX() + (coordinate.i * width); double y = origin.getPosition().getY() + (coordinate.j * height); return new Envelope<>(x, y, x + width, y + height,origin.getCoordinateReferenceSystem()); } TileSetCoordinateSpace(Point<C2D> origin, Dimension tileDimension, Envelope<C2D> extent, double unitsPerPixel); Envelope<C2D> boundingBox(TileCoordinate coordinate); PixelRange tilePixelRange(TileCoordinate coordinate); Dimension tileSetPixelDimension(); double tileWidthInMapUnits(); double tileHeightInMapUnits(); TileCoordinate tileCoordinateContaining(Point<C2D> point, boolean lowerLeftInclusive); double unitsPerPixel(); PixelRange pixelRange(Envelope<C2D> bbox); Pixel toPixel(Point<C2D> point); Point<C2D> toPoint(Pixel pixel);  }### Answer:
@Test public void test_get_bounds_for_tile_coordinate() { Envelope<C2D> received = space1.boundingBox(TileCoordinate.valueOf(0, 0)); Envelope<C2D> expected = new Envelope<>(500, 500, 550, 550, crs); assertEquals(expected, received); received = space1.boundingBox(TileCoordinate.valueOf(-1, -1)); expected = new Envelope<>(450, 450, 500, 500, crs); assertEquals(expected, received); received = space1.boundingBox(TileCoordinate.valueOf(2, 3)); expected = new Envelope<>(600, 650, 650, 700, crs); assertEquals(expected, received); received = space1.boundingBox(TileCoordinate.valueOf(100, 100)); expected = new Envelope<>(5500, 5500, 5550, 5550, crs); assertEquals("Also tilecoordinates beyond extent of tilemap are allowed.", expected, received); }