### Question:
BackgroundController implements Observer { public void close() { myMapModel.deleteObserver(this); } BackgroundController(MapModel mapModel, BackgroundModel model); void close(); @Override void update(Observable o, Object arg);  }### Answer:
@Test public void testClose() { MapModel mapModel = new MapModel(); mapModel.setHeightWidth(150, 300); mapModel.setViewport(new ScreenBoundingBox(new ScreenPosition(0d, 0d), new ScreenPosition(300, 150))); BackgroundModel model = new BackgroundModel(); BackgroundController controller = new BackgroundController(mapModel, model); assertEquals(1, mapModel.countObservers()); controller.close(); assertEquals(0, mapModel.countObservers()); }