CoordinateBounds implements Serializable { public void setEmpty(boolean empty) { _empty = empty; } CoordinateBounds();  CoordinateBounds(double lat, double lon);  CoordinateBounds(CoordinateBounds bounds);  CoordinateBounds(double minLat, double minLon, double maxLat,
      double maxLon); boolean isEmpty(); void setEmpty(boolean empty); double getMinLat(); void setMinLat(double minLat); double getMinLon(); void setMinLon(double minLon); double getMaxLat(); void setMaxLat(double maxLat); double getMaxLon(); void setMaxLon(double maxLon); void addPoint(double lat, double lon); void addBounds(CoordinateBounds bounds); void clear(); boolean contains(double lat, double lon); boolean contains(CoordinatePoint point); boolean intersects(CoordinateBounds r); CoordinateBounds intersection(CoordinateBounds r); CoordinateBounds union(CoordinateBounds r); @Override String toString(); @Override int hashCode(); @Override boolean equals(Object obj);  }
@Test public void testSetEmpty() { CoordinateBounds bounds = new CoordinateBounds(1,2); assertFalse(bounds.isEmpty()); bounds.setEmpty(true); assertTrue(bounds.isEmpty()); bounds.addPoint(3, 4); assertFalse(bounds.isEmpty()); assertEquals(3, bounds.getMinLat(), 0); assertEquals(4, bounds.getMinLon(), 0); assertEquals(3, bounds.getMaxLat(), 0); assertEquals(4, bounds.getMaxLon(), 0); }