gt:       layer = mapboxMap.getLayerAs("my-layer");
context: package com.mapbox.mapboxsdk.testapp.style;
  // This file is generated. Edit android/platform/scripts/generate-style-code.js, then run `make android-style-code`.
  
  import android.graphics.Color;
  import android.support.test.espresso.Espresso;
  import android.support.test.rule.ActivityTestRule;
  import android.support.test.runner.AndroidJUnit4;
  
  import com.mapbox.mapboxsdk.maps.MapboxMap;
  import com.mapbox.mapboxsdk.style.layers.SymbolLayer;
  import com.mapbox.mapboxsdk.testapp.R;
  import com.mapbox.mapboxsdk.testapp.activity.style.RuntimeStyleTestActivity;
  import com.mapbox.mapboxsdk.testapp.utils.OnMapReadyIdlingResource;
  
  import org.junit.After;
  import org.junit.Before;
  import org.junit.Rule;
  import org.junit.Test;
  import org.junit.runner.RunWith;
  
  import timber.log.Timber;
  
  import static com.mapbox.mapboxsdk.style.layers.Property.ICON_ROTATION_ALIGNMENT_MAP;
  import static com.mapbox.mapboxsdk.style.layers.Property.ICON_TEXT_FIT_NONE;
  import static com.mapbox.mapboxsdk.style.layers.Property.ICON_TRANSLATE_ANCHOR_MAP;
  import static com.mapbox.mapboxsdk.style.layers.Property.NONE;
  import static com.mapbox.mapboxsdk.style.layers.Property.SYMBOL_PLACEMENT_POINT;
  import static com.mapbox.mapboxsdk.style.layers.Property.TEXT_ANCHOR_CENTER;
  import static com.mapbox.mapboxsdk.style.layers.Property.TEXT_JUSTIFY_LEFT;
  import static com.mapbox.mapboxsdk.style.layers.Property.TEXT_PITCH_ALIGNMENT_MAP;
  import static com.mapbox.mapboxsdk.style.layers.Property.TEXT_ROTATION_ALIGNMENT_MAP;
  import static com.mapbox.mapboxsdk.style.layers.Property.TEXT_TRANSFORM_NONE;
  import static com.mapbox.mapboxsdk.style.layers.Property.TEXT_TRANSLATE_ANCHOR_MAP;
  import static com.mapbox.mapboxsdk.style.layers.Property.VISIBLE;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.iconAllowOverlap;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.iconColor;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.iconHaloBlur;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.iconHaloColor;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.iconHaloWidth;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.iconIgnorePlacement;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.iconImage;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.iconKeepUpright;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.iconOffset;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.iconOpacity;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.iconOptional;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.iconPadding;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.iconRotate;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.iconRotationAlignment;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.iconSize;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.iconTextFit;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.iconTextFitPadding;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.iconTranslate;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.iconTranslateAnchor;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.symbolAvoidEdges;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.symbolPlacement;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.symbolSpacing;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.textAllowOverlap;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.textAnchor;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.textColor;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.textField;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.textFont;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.textHaloBlur;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.textHaloColor;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.textHaloWidth;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.textIgnorePlacement;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.textJustify;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.textKeepUpright;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.textLetterSpacing;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.textLineHeight;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.textMaxAngle;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.textMaxWidth;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.textOffset;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.textOpacity;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.textOptional;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.textPadding;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.textPitchAlignment;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.textRotate;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.textRotationAlignment;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.textSize;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.textTransform;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.textTranslate;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.textTranslateAnchor;
  import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.visibility;
  import static org.junit.Assert.assertEquals;
  import static org.junit.Assert.assertNotNull;
  
  /**
   * Basic smoke tests for SymbolLayer
   */
  @RunWith(AndroidJUnit4.class)
  public class SymbolLayerTest extends BaseStyleTest {
  
    @Rule
    public final ActivityTestRule<RuntimeStyleTestActivity> rule = new ActivityTestRule<>(RuntimeStyleTestActivity.class);
  
    private SymbolLayer layer;
  
    private OnMapReadyIdlingResource idlingResource;
  
    private MapboxMap mapboxMap;
  
    @Before
    public void setup() {
      idlingResource = new OnMapReadyIdlingResource(rule.getActivity());
      Espresso.registerIdlingResources(idlingResource);
    }
  
    @Test
    public void testSetVisibility() {
      checkViewIsDisplayed(R.id.mapView);
  
      mapboxMap = rule.getActivity().getMapboxMap();
  
      if ((layer = mapboxMap.getLayerAs("my-layer")) == null) {
        Timber.i("Adding layer");
        layer = new SymbolLayer("my-layer", "composite");
        layer.setSourceLayer("composite");
        mapboxMap.addLayer(layer);
        //Layer reference is now stale, get new reference
        layer = mapboxMap.getLayerAs("my-layer");
      }
      Timber.i("visibility");
      assertNotNull(layer);
  
      //Get initial
      assertEquals(layer.getVisibility().getValue(), VISIBLE);
  
      //Set
      layer.setProperties(visibility(NONE));
      assertEquals(layer.getVisibility().getValue(), NONE);
    }
  
    @Test
    public void testSymbolPlacement() {
      checkViewIsDisplayed(R.id.mapView);
  
      mapboxMap = rule.getActivity().getMapboxMap();
  
      if ((layer = mapboxMap.getLayerAs("my-layer")) == null) {
        Timber.i("Adding layer");
        layer = new SymbolLayer("my-layer", "composite");
        layer.setSourceLayer("composite");
        mapboxMap.addLayer(layer);
        //Layer reference is now stale, get new reference
        layer = mapboxMap.getLayerAs("my-layer");
      }
      Timber.i("symbol-placement");
      assertNotNull(layer);
  
      //Set and Get
      layer.setProperties(symbolPlacement(SYMBOL_PLACEMENT_POINT));
      assertEquals((String) layer.getSymbolPlacement().getValue(), (String) SYMBOL_PLACEMENT_POINT);
    }
  
    @Test
    public void testSymbolSpacing() {
      checkViewIsDisplayed(R.id.mapView);
  
      mapboxMap = rule.getActivity().getMapboxMap();
  
      if ((layer = mapboxMap.getLayerAs("my-layer")) == null) {
        Timber.i("Adding layer");
        layer = new SymbolLayer("my-layer", "composite");
        layer.setSourceLayer("composite");
        mapboxMap.addLayer(layer);
        //Layer reference is now stale, get new reference
        layer = mapboxMap.getLayerAs("my-layer");
      }
      Timber.i("symbol-spacing");
      assertNotNull(layer);
  
      //Set and Get
      layer.setProperties(symbolSpacing(0.3f));
      assertEquals((Float) layer.getSymbolSpacing().getValue(), (Float) 0.3f);
    }
  
    @Test
    public void testSymbolAvoidEdges() {
      checkViewIsDisplayed(R.id.mapView);
  
      mapboxMap = rule.getActivity().getMapboxMap();
  
      if ((layer = mapboxMap.getLayerAs("my-layer")) == null) {
        Timber.i("Adding layer");
        layer = new SymbolLayer("my-layer", "composite");
        layer.setSourceLayer("composite");
        mapboxMap.addLayer(layer);
        //Layer reference is now stale, get new reference
        layer = mapboxMap.getLayerAs("my-layer");
      }
      Timber.i("symbol-avoid-edges");
      assertNotNull(layer);
  
      //Set and Get
      layer.setProperties(symbolAvoidEdges(true));
      assertEquals((Boolean) layer.getSymbolAvoidEdges().getValue(), (Boolean) true);
    }
  
    @Test
    public void testIconAllowOverlap() {
      checkViewIsDisplayed(R.id.mapView);
  
      mapboxMap = rule.getActivity().getMapboxMap();
  
      if ((layer = mapboxMap.getLayerAs("my-layer")) == null) {
        Timber.i("Adding layer");
        layer = new SymbolLayer("my-layer", "composite");
        layer.setSourceLayer("composite");
        mapboxMap.addLayer(layer);
        //Layer reference is now stale, get new reference
  