From 4c5012f6377818fd6162b7ad9f554ecfc040ba60 Mon Sep 17 00:00:00 2001 From: Oliver Gierke Date: Fri, 7 Mar 2014 08:58:48 +0100 Subject: [PATCH] DATACMNS-437 - Polishing of newly introduced geo value objects. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Polished JavaDoc. Simplified equals(…) and hashCode() methods where possible. Added additional null checks where appropriate. Removed obsolete generics in Polygon and switched to an immutable collection for the Points making up the Polygon. Added missing toString() method to Polygon. Added test cases for String representations. Related pull request: #68. --- src/main/java/org/springframework/data/geo/Circle.java | 2 +- .../java/org/springframework/data/geo/Polygon.java | 2 +- .../org/springframework/data/geo/BoxUnitTests.java | 9 +++++++++ .../org/springframework/data/geo/CircleUnitTests.java | 9 +++++++++ .../org/springframework/data/geo/PointUnitTests.java | 3 ++- .../org/springframework/data/geo/PolygonUnitTests.java | 10 ++++++++++ 6 files changed, 32 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/springframework/data/geo/Circle.java b/src/main/java/org/springframework/data/geo/Circle.java index 1d962571b..4233124dd 100644 --- a/src/main/java/org/springframework/data/geo/Circle.java +++ b/src/main/java/org/springframework/data/geo/Circle.java @@ -94,7 +94,7 @@ public class Circle implements Shape { */ @Override public String toString() { - return String.format("Circle: [center=%s, radius=%f]", center, radius); + return String.format("Circle: [center=%s, radius=%s]", center, radius); } /* diff --git a/src/main/java/org/springframework/data/geo/Polygon.java b/src/main/java/org/springframework/data/geo/Polygon.java index 51ff05505..d1dbf168c 100644 --- a/src/main/java/org/springframework/data/geo/Polygon.java +++ b/src/main/java/org/springframework/data/geo/Polygon.java @@ -125,7 +125,7 @@ public class Polygon implements Iterable, Shape { return points.hashCode(); } - /* + /* * (non-Javadoc) * @see java.lang.Object#toString() */ diff --git a/src/test/java/org/springframework/data/geo/BoxUnitTests.java b/src/test/java/org/springframework/data/geo/BoxUnitTests.java index 5343aefea..c7767504b 100644 --- a/src/test/java/org/springframework/data/geo/BoxUnitTests.java +++ b/src/test/java/org/springframework/data/geo/BoxUnitTests.java @@ -52,4 +52,13 @@ public class BoxUnitTests { assertThat(first.hashCode(), is(second.hashCode())); assertThat(first.hashCode(), is(not(third.hashCode()))); } + + /** + * @see DATACMNS-437 + */ + @Test + public void testToString() { + + assertThat(first.toString(), is("Box [Point [x=1.000000, y=1.000000], Point [x=2.000000, y=2.000000]]")); + } } diff --git a/src/test/java/org/springframework/data/geo/CircleUnitTests.java b/src/test/java/org/springframework/data/geo/CircleUnitTests.java index c9e42ba98..a7bf41757 100644 --- a/src/test/java/org/springframework/data/geo/CircleUnitTests.java +++ b/src/test/java/org/springframework/data/geo/CircleUnitTests.java @@ -61,4 +61,13 @@ public class CircleUnitTests { assertThat(left, is(right)); assertThat(right, is(left)); } + + /** + * @see DATACMNS-437 + */ + @Test + public void testToString() { + + assertThat(new Circle(1, 1, 1).toString(), is("Circle: [center=Point [x=1.000000, y=1.000000], radius=1.0]")); + } } diff --git a/src/test/java/org/springframework/data/geo/PointUnitTests.java b/src/test/java/org/springframework/data/geo/PointUnitTests.java index daad11596..2a610350e 100644 --- a/src/test/java/org/springframework/data/geo/PointUnitTests.java +++ b/src/test/java/org/springframework/data/geo/PointUnitTests.java @@ -52,6 +52,7 @@ public class PointUnitTests { */ @Test public void invokingToStringWorksCorrectly() { - new Point(1.5, 1.5).toString(); + assertThat(new Point(1.5, 1.5).toString(), is("Point [x=1.500000, y=1.500000]")); } + } diff --git a/src/test/java/org/springframework/data/geo/PolygonUnitTests.java b/src/test/java/org/springframework/data/geo/PolygonUnitTests.java index 68d2677ba..d51bc2b99 100644 --- a/src/test/java/org/springframework/data/geo/PolygonUnitTests.java +++ b/src/test/java/org/springframework/data/geo/PolygonUnitTests.java @@ -63,4 +63,14 @@ public class PolygonUnitTests { assertThat(left, is(right)); assertThat(right, is(left)); } + + /** + * @see DATACMNS-437 + */ + @Test + public void testToString() { + + assertThat(new Polygon(third, second, first).toString(), + is("Polygon: [Point [x=3.000000, y=3.000000],Point [x=2.000000, y=2.000000],Point [x=1.000000, y=1.000000]]")); + } }