@Before
  public void setUp() {
    ClientMapInfo info = new ClientMapInfo();
    info.setCrs("EPSG:4326");
    info.setInitialBounds(new Bbox(0, 0, 180, 180));
    mapModel = new MapModel(info);

    VectorLayerInfo serverLayerInfo1 = new VectorLayerInfo();
    ClientVectorLayerInfo layerInfo1 = new ClientVectorLayerInfo();
    layerInfo1.setLayerInfo(serverLayerInfo1);
    layerInfo1.setMaxExtent(new Bbox(0, 0, 200, 100));
    layerInfo1.setId("layer1");
    layerInfo1.setServerLayerId("layer1");
    layer1 = new VectorLayer(mapModel, layerInfo1);

    VectorLayerInfo serverLayerInfo2 = new VectorLayerInfo();
    ClientVectorLayerInfo layerInfo2 = new ClientVectorLayerInfo();
    layerInfo2.setLayerInfo(serverLayerInfo2);
    layerInfo2.setMaxExtent(new Bbox(0, 0, 250, 125));
    layerInfo2.setId("layer2");
    layerInfo2.setServerLayerId("layer2");
    layer2 = new VectorLayer(mapModel, layerInfo2);

    mapModel.getLayers().add(layer1);
    mapModel.getLayers().add(layer2);

    selectedCount = 0;
    deselectedCount = 0;
    lastFeatureId = null;
    layer1.addFeatureSelectionHandler(
        new FeatureSelectionHandler() {
          public void onFeatureSelected(FeatureSelectedEvent event) {
            selectedCount++;
            lastFeatureId = event.getFeature().getId();
          }

          public void onFeatureDeselected(FeatureDeselectedEvent event) {
            deselectedCount++;
            lastFeatureId = event.getFeature().getId();
          }
        });
  }