diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/geo/Distance.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/geo/Distance.java index 65d553d4d..f278c0ce8 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/geo/Distance.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/geo/Distance.java @@ -136,7 +136,7 @@ public class Distance { StringBuilder builder = new StringBuilder(); builder.append(value); - if (metric != null) { + if (metric != Metrics.NEUTRAL) { builder.append(" ").append(metric.toString()); } diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/geo/GeoResults.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/geo/GeoResults.java index cb14118cb..33270c0a7 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/geo/GeoResults.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/geo/GeoResults.java @@ -61,6 +61,8 @@ public class GeoResults implements Iterable> { } /** + * Returns the average distance of all {@link GeoResult}s in this list. + * * @return the averageDistance */ public Distance getAverageDistance() { diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/geo/GeoResultsUnitTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/geo/GeoResultsUnitTests.java index 9e622292f..46797d9e0 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/geo/GeoResultsUnitTests.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/geo/GeoResultsUnitTests.java @@ -15,10 +15,28 @@ */ package org.springframework.data.mongodb.core.geo; +import static org.hamcrest.CoreMatchers.*; +import static org.junit.Assert.*; + +import java.util.Arrays; + +import org.junit.Test; + /** + * Unit tests for {@link GeoResults}. * * @author Oliver Gierke */ public class GeoResultsUnitTests { + @Test + @SuppressWarnings("unchecked") + public void calculatesAverageForGivenGeoResults() { + + GeoResult first = new GeoResult(new Object(), new Distance(2)); + GeoResult second = new GeoResult(new Object(), new Distance(5)); + GeoResults geoResults = new GeoResults(Arrays.asList(first, second)); + + assertThat(geoResults.getAverageDistance(), is(new Distance(3.5))); + } }