### Question:
MapTileArea implements MapTileContainer, IterableWithSize<Long> { @Override public int size() { return mWidth * mHeight; }  MapTileArea set(final int pZoom, final int pLeft, final int pTop, final int pRight, final int pBottom); MapTileArea set(final int pZoom, final Rect pRect); MapTileArea set(final MapTileArea pArea); MapTileArea reset(); int getZoom(); int getLeft(); int getTop(); int getWidth(); int getHeight(); int getRight(); int getBottom(); @Override int size(); @Override Iterator<Long> iterator(); @Override boolean contains(long pTileIndex); @Override String toString();  }### Answer:
@Test public void testSize() { final MapTileArea area = new MapTileArea(); for (int zoom = 0; zoom <= TileSystem.getMaximumZoomLevel(); zoom++) { final int mapTileUpperBound = getMapTileUpperBound(zoom); final long size = ((long)mapTileUpperBound) * mapTileUpperBound; if (size >= Integer.MAX_VALUE) { return; } setNewWorld(area, zoom); Assert.assertEquals(size, area.size()); Assert.assertTrue(area.iterator().hasNext()); } }