### Question:
CameraRestrictedImpl implements Camera { @Override public float getZoom() { return zoom; } CameraRestrictedImpl();  CameraRestrictedImpl(float x, float y, float zoom, float angle);  CameraRestrictedImpl(float x, float y, float zoom, float angle, float width, float height, Rectangle worldBounds); void setWorldBounds(Rectangle rectangle); void setWorldBounds(float x1, float y1, float x2, float y2); void setBounds(float width, float height); @Override void setPosition(float x, float y); float getRealHeight(); float getRealWidth(); @Override float getX(); @Override float getY(); @Override void setZoom(float zoom); @Override float getZoom(); @Override void setAngle(float angle); @Override float getAngle();  }### Answer:
@Test public void bugWhenRecalculatingZoomShouldUseSmallerDimension() { CameraRestrictedImpl camera = new CameraRestrictedImpl(0f, 0f, 1f, 0f, 800f, 480f, new Rectangle(0f, 0f, 12f, 4f)); assertThat(camera.getZoom(), IsEqual.equalTo(120f)); camera = new CameraRestrictedImpl(0f, 0f, 1f, 0f, 800f, 480f, new Rectangle(0f, 0f, 4f, 12f)); assertThat(camera.getZoom(), IsEqual.equalTo(200f)); }