Fix Android code generation templates & regenerate generated sources (#1239)

This commit is contained in:
Bart Louwers
2023-06-14 12:34:39 +02:00
committed by GitHub
parent 7bbfd30351
commit 4a24e468ed
9 changed files with 680 additions and 303 deletions

View File

@@ -45,7 +45,7 @@ public class LightTest extends BaseTest {
validateTestSetup();
setupLight();
Timber.i("anchor");
invoke(maplibreMap, (uiController, mapboxMap) -> {
invoke(maplibreMap, (uiController, maplibreMap) -> {
assertNotNull(light);
// Set and Get
light.setAnchor(ANCHOR_MAP);
@@ -58,7 +58,7 @@ public class LightTest extends BaseTest {
validateTestSetup();
setupLight();
Timber.i("positionTransitionOptions");
invoke(maplibreMap, (uiController, mapboxMap) -> {
invoke(maplibreMap, (uiController, maplibreMap) -> {
assertNotNull(light);
// Set and Get
TransitionOptions options = new TransitionOptions(300, 100);
@@ -72,7 +72,7 @@ public class LightTest extends BaseTest {
validateTestSetup();
setupLight();
Timber.i("position");
invoke(maplibreMap,(uiController, mapboxMap) -> {
invoke(maplibreMap,(uiController, maplibreMap) -> {
assertNotNull(light);
// Set and Get
Position position = new Position(1, 2, 3);
@@ -86,7 +86,7 @@ public class LightTest extends BaseTest {
validateTestSetup();
setupLight();
Timber.i("colorTransitionOptions");
invoke(maplibreMap, (uiController, mapboxMap) -> {
invoke(maplibreMap, (uiController, maplibreMap) -> {
assertNotNull(light);
// Set and Get
TransitionOptions options = new TransitionOptions(300, 100);
@@ -100,7 +100,7 @@ public class LightTest extends BaseTest {
validateTestSetup();
setupLight();
Timber.i("color");
invoke(maplibreMap, (uiController, mapboxMap) -> {
invoke(maplibreMap, (uiController, maplibreMap) -> {
assertNotNull(light);
// Set and Get
light.setColor("rgba(255,128,0,0.7)");
@@ -113,7 +113,7 @@ public class LightTest extends BaseTest {
validateTestSetup();
setupLight();
Timber.i("intensityTransitionOptions");
invoke(maplibreMap, (uiController, mapboxMap) -> {
invoke(maplibreMap, (uiController, maplibreMap) -> {
assertNotNull(light);
// Set and Get
TransitionOptions options = new TransitionOptions(300, 100);
@@ -127,7 +127,7 @@ public class LightTest extends BaseTest {
validateTestSetup();
setupLight();
Timber.i("intensity");
invoke(maplibreMap, (uiController, mapboxMap) -> {
invoke(maplibreMap, (uiController, maplibreMap) -> {
assertNotNull(light);
// Set and Get
light.setIntensity(0.3f);

View File

@@ -14,12 +14,12 @@ import android.graphics.Color;
import androidx.test.annotation.UiThreadTest;
import androidx.test.internal.runner.junit4.AndroidJUnit4ClassRunner;
import com.maplibre.geojson.LineString;
import com.maplibre.geojson.MultiLineString;
import com.maplibre.geojson.MultiPoint;
import com.maplibre.geojson.MultiPolygon;
import com.maplibre.geojson.Point;
import com.maplibre.geojson.Polygon;
import com.mapbox.geojson.LineString;
import com.mapbox.geojson.MultiLineString;
import com.mapbox.geojson.MultiPoint;
import com.mapbox.geojson.MultiPolygon;
import com.mapbox.geojson.Point;
import com.mapbox.geojson.Polygon;
import org.maplibre.android.maps.BaseLayerTest;
import org.junit.Before;
import timber.log.Timber;

View File

@@ -1,68 +1,132 @@
<% const properties = locals.properties; -%> package
org.maplibre.android.testapp.style; import android.graphics.Color; import
androidx.test.espresso.UiController; import androidx.test.espresso.ViewAction;
import androidx.test.internal.runner.junit4.AndroidJUnit4ClassRunner; import
android.view.View; import org.maplibre.android.style.light.Light; import
org.maplibre.android.style.expressions.Expression; import
org.maplibre.android.style.layers.FillExtrusionLayer; import
org.maplibre.android.style.layers.TransitionOptions; import
org.maplibre.android.style.light.Position; import
org.maplibre.android.testapp.R; import
org.maplibre.android.testapp.activity.BaseTest; import
org.maplibre.android.testapp.activity.style.FillExtrusionStyleTestActivity;
import timber.log.Timber; import org.hamcrest.Matcher; import org.junit.Test;
import org.junit.runner.RunWith; import static
androidx.test.espresso.Espresso.onView; import static
androidx.test.espresso.matcher.ViewMatchers.isDisplayed; import static
androidx.test.espresso.matcher.ViewMatchers.withId; import static
org.maplibre.android.style.expressions.Expression.eq; import static
org.maplibre.android.style.layers.Property.ANCHOR_MAP; import static
org.maplibre.android.style.layers.PropertyFactory.fillExtrusionBase; import
static org.maplibre.android.style.layers.PropertyFactory.fillExtrusionColor;
import static
org.maplibre.android.style.layers.PropertyFactory.fillExtrusionHeight; import
static org.maplibre.android.style.layers.PropertyFactory.fillExtrusionOpacity;
<%
const properties = locals.properties;
-%>
package org.maplibre.android.testapp.style;
import android.graphics.Color;
import androidx.test.espresso.UiController;
import androidx.test.espresso.ViewAction;
import androidx.test.internal.runner.junit4.AndroidJUnit4ClassRunner;
import android.view.View;
import org.maplibre.android.style.light.Light;
import org.maplibre.android.style.expressions.Expression;
import org.maplibre.android.style.layers.FillExtrusionLayer;
import org.maplibre.android.style.layers.TransitionOptions;
import org.maplibre.android.style.light.Position;
import org.maplibre.android.testapp.R;
import org.maplibre.android.testapp.activity.BaseTest;
import org.maplibre.android.testapp.activity.style.FillExtrusionStyleTestActivity;
import timber.log.Timber;
import org.hamcrest.Matcher;
import org.junit.Test;
import org.junit.runner.RunWith;
import static androidx.test.espresso.Espresso.onView;
import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
import static androidx.test.espresso.matcher.ViewMatchers.withId;
import static org.maplibre.android.style.expressions.Expression.eq;
import static org.maplibre.android.style.layers.Property.ANCHOR_MAP;
import static org.maplibre.android.style.layers.PropertyFactory.fillExtrusionBase;
import static org.maplibre.android.style.layers.PropertyFactory.fillExtrusionColor;
import static org.maplibre.android.style.layers.PropertyFactory.fillExtrusionHeight;
import static org.maplibre.android.style.layers.PropertyFactory.fillExtrusionOpacity;
import static org.maplibre.android.testapp.action.MapLibreMapAction.invoke;
import static org.junit.Assert.assertEquals; import static
org.junit.Assert.assertNotNull; @RunWith(AndroidJUnit4ClassRunner.class) public
class LightTest extends BaseTest { private Light light; <% for (const property
of properties) { -%> <% if (property.transition) { -%> @Test public void test<%-
camelize(property.name) %>Transition() { validateTestSetup(); setupLight();
Timber.i("<%- property.name %>TransitionOptions"); invoke(maplibreMap,
(uiController, maplibreMap) -> { assertNotNull(light); // Set and Get
TransitionOptions options = new TransitionOptions(300, 100); light.set<%-
camelize(property.name) %>Transition(options); assertEquals("Transition options
should match", options, light.get<%- camelize(property.name) %>Transition());
}); } <% } -%> <% if (property.name == "position") { -%> @Test public void
test<%- camelize(property.name) %>() { validateTestSetup(); setupLight();
Timber.i("<%- property.name %>"); invoke(maplibreMap,(uiController, maplibreMap)
-> { assertNotNull(light); // Set and Get Position position = new Position(1, 2,
3); light.set<%- camelize(property.name) %>(position); assertEquals("Position
should match", position, light.get<%- camelize(property.name) %>()); }); } <% }
else { -%> @Test public void test<%- camelize(property.name) %>() {
validateTestSetup(); setupLight(); Timber.i("<%- property.name %>");
invoke(maplibreMap, (uiController, maplibreMap) -> { assertNotNull(light); //
Set and Get light.set<%- camelize(property.name) %>(<%-
defaultValueJava(property) %>); <% if (property.name == 'color') { -%>
assertEquals("<%- camelize(property.name) %> should match", <%-
defaultValueJava(property) %>, light.get<%- camelize(property.name) %>()); <% }
else { -%> assertEquals("<%- camelize(property.name) %> should match", <%-
defaultValueJava(property) %>, light.get<%- camelize(property.name) %>()); <% }
-%> }); } <% } -%> <% } -%> private void setupLight() {
onView(withId(R.id.mapView)).perform(new ViewAction() { @Override public
Matcher<View>
getConstraints() { return isDisplayed(); } @Override public String
getDescription() { return getClass().getSimpleName(); } @Override public void
perform(UiController uiController, View view) { light =
maplibreMap.getStyle().getLight(); FillExtrusionLayer fillExtrusionLayer = new
FillExtrusionLayer("3d-buildings", "composite");
fillExtrusionLayer.setSourceLayer("building");
fillExtrusionLayer.setFilter(eq(Expression.get("extrude"), "true"));
fillExtrusionLayer.setMinZoom(15); fillExtrusionLayer.setProperties(
fillExtrusionColor(Color.LTGRAY),
fillExtrusionHeight(Expression.get("height")),
fillExtrusionBase(Expression.get("min_height")), fillExtrusionOpacity(0.6f) );
maplibreMap.getStyle().addLayer(fillExtrusionLayer); } }); } @Override
protected Class getActivityClass() { return
FillExtrusionStyleTestActivity.class; } }</View
>
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
@RunWith(AndroidJUnit4ClassRunner.class)
public class LightTest extends BaseTest {
private Light light;
<% for (const property of properties) { -%>
<% if (property.transition) { -%>
@Test
public void test<%- camelize(property.name) %>Transition() {
validateTestSetup();
setupLight();
Timber.i("<%- property.name %>TransitionOptions");
invoke(maplibreMap, (uiController, maplibreMap) -> {
assertNotNull(light);
// Set and Get
TransitionOptions options = new TransitionOptions(300, 100);
light.set<%- camelize(property.name) %>Transition(options);
assertEquals("Transition options should match", options, light.get<%- camelize(property.name) %>Transition());
});
}
<% } -%>
<% if (property.name == "position") { -%>
@Test
public void test<%- camelize(property.name) %>() {
validateTestSetup();
setupLight();
Timber.i("<%- property.name %>");
invoke(maplibreMap,(uiController, maplibreMap) -> {
assertNotNull(light);
// Set and Get
Position position = new Position(1, 2, 3);
light.set<%- camelize(property.name) %>(position);
assertEquals("Position should match", position, light.get<%- camelize(property.name) %>());
});
}
<% } else { -%>
@Test
public void test<%- camelize(property.name) %>() {
validateTestSetup();
setupLight();
Timber.i("<%- property.name %>");
invoke(maplibreMap, (uiController, maplibreMap) -> {
assertNotNull(light);
// Set and Get
light.set<%- camelize(property.name) %>(<%- defaultValueJava(property) %>);
<% if (property.name == 'color') { -%>
assertEquals("<%- camelize(property.name) %> should match", <%- defaultValueJava(property) %>, light.get<%- camelize(property.name) %>());
<% } else { -%>
assertEquals("<%- camelize(property.name) %> should match", <%- defaultValueJava(property) %>, light.get<%- camelize(property.name) %>()<%- property.type === 'number' ? ', 0f' : '' %>);
<% } -%>
});
}
<% } -%>
<% } -%>
private void setupLight() {
onView(withId(R.id.mapView)).perform(new ViewAction() {
@Override
public Matcher<View> getConstraints() {
return isDisplayed();
}
@Override
public String getDescription() {
return getClass().getSimpleName();
}
@Override
public void perform(UiController uiController, View view) {
light = maplibreMap.getStyle().getLight();
FillExtrusionLayer fillExtrusionLayer = new FillExtrusionLayer("3d-buildings", "composite");
fillExtrusionLayer.setSourceLayer("building");
fillExtrusionLayer.setFilter(eq(Expression.get("extrude"), "true"));
fillExtrusionLayer.setMinZoom(15);
fillExtrusionLayer.setProperties(
fillExtrusionColor(Color.LTGRAY),
fillExtrusionHeight(Expression.get("height")),
fillExtrusionBase(Expression.get("min_height")),
fillExtrusionOpacity(0.6f)
);
maplibreMap.getStyle().addLayer(fillExtrusionLayer);
}
});
}
@Override
protected Class getActivityClass() {
return FillExtrusionStyleTestActivity.class;
}
}