### Question:
BBox implements Shape, Cloneable { @Override public boolean contains(Shape s) { if (s instanceof BBox) { return contains((BBox) s); } else if (s instanceof Circle) { return contains((Circle) s); } throw new UnsupportedOperationException("unsupported shape"); } BBox(double[] coords);  BBox(double minLon, double maxLon, double minLat, double maxLat);  BBox(double minLon, double maxLon, double minLat, double maxLat, double minEle, double maxEle);  BBox(double minLon, double maxLon, double minLat, double maxLat, double minEle, double maxEle, boolean elevation); static BBox createInverse(boolean elevation); boolean hasElevation(); void update(double lat, double lon); void update(double lat, double lon, double elev); BBox calculateIntersection(BBox bBox); @Override BBox clone(); @Override boolean intersects(Shape s); @Override boolean contains(Shape s); static boolean intersects(RectangleLineIntersector intersector, PointList pointList); @Override boolean intersects(PointList pointList); boolean intersects(Circle s); boolean intersects(double minLon, double maxLon, double minLat, double maxLat); boolean intersects(BBox o); @Override boolean contains(double lat, double lon); boolean contains(BBox b); boolean contains(Circle c); @Override String toString(); String toLessPrecisionString(); @Override BBox getBounds(); @Override GHPoint getCenter(); @Override boolean equals(Object obj); @Override int hashCode(); boolean isValid(); List<Double> toGeoJson(); static BBox fromEnvelope(Envelope envelope); static Envelope toEnvelope(BBox bbox); @Override double calculateArea(); static BBox parseTwoPoints(String objectAsString); static BBox fromPoints(double lat1, double lon1, double lat2, double lon2); static BBox parseBBoxString(String objectAsString); public double minLon; public double maxLon; public double minLat; public double maxLat; public double minEle; public double maxEle; }### Answer:
@Test public void testContains() { assertTrue(new BBox(1, 2, 0, 1).contains(new BBox(1, 2, 0, 1))); assertTrue(new BBox(1, 2, 0, 1).contains(new BBox(1.5, 2, 0.5, 1))); assertFalse(new BBox(1, 2, 0, 0.5).contains(new BBox(1.5, 2, 0.5, 1))); Circle c = new Circle(10, 10, 120000); assertTrue(c.getBounds().contains(c)); assertFalse(new BBox(8.9, 11.09, 8.9, 11.2).contains(c)); }