### Question:
XYZUrlBuilder implements TileUrlBuilder { @Override public String buildUrl(DataModelCategory category, ZYXImageKey key) { String layerUrl = category.getCategory(); String parentUrl = layerUrl.substring(0, layerUrl.lastIndexOf('/')); String urlString = StringUtilities.concat(parentUrl, "/tile/", Integer.valueOf(key.getZ()), "/", Integer.valueOf(key.getY()), "/", Integer.valueOf(key.getX())); return urlString; }  @Override String buildUrl(DataModelCategory category, ZYXImageKey key);  }### Answer:
@Test public void testBuildUrl() { ZYXImageKey key = new ZYXImageKey(0, 1, 2, new GeographicBoundingBox(LatLonAlt.createFromDegrees(0, 1), LatLonAlt.createFromDegrees(2, 3))); DataModelCategory category = new DataModelCategory(null, null, "http: XYZUrlBuilder builder = new XYZUrlBuilder(); String urlString = builder.buildUrl(category, key); assertEquals("http: }