diff --git a/src/main/java/info/freelibrary/iiif/presentation/v3/exts/geo/LineString.java b/src/main/java/info/freelibrary/iiif/presentation/v3/exts/geo/LineString.java index e8f16445..18755a1f 100644 --- a/src/main/java/info/freelibrary/iiif/presentation/v3/exts/geo/LineString.java +++ b/src/main/java/info/freelibrary/iiif/presentation/v3/exts/geo/LineString.java @@ -113,7 +113,7 @@ public Point previous() { throw new NoSuchElementException(); } - return myPoints[myIndex--]; + return myPoints[--myIndex]; } @Override @@ -176,6 +176,6 @@ public String toString() { stream().forEach(point -> builder.append(point.toString()).append(", ")); length = builder.length(); - return builder.delete(length - 2, length - 1).append(']').toString(); + return builder.delete(length - 2, length).append(']').toString(); } } diff --git a/src/main/java/info/freelibrary/iiif/presentation/v3/exts/geo/MultiLineString.java b/src/main/java/info/freelibrary/iiif/presentation/v3/exts/geo/MultiLineString.java index 5a07fc88..bc4eb6c1 100644 --- a/src/main/java/info/freelibrary/iiif/presentation/v3/exts/geo/MultiLineString.java +++ b/src/main/java/info/freelibrary/iiif/presentation/v3/exts/geo/MultiLineString.java @@ -103,7 +103,7 @@ public LineString previous() { throw new NoSuchElementException(); } - return myLineStrings[myIndex--]; + return myLineStrings[--myIndex]; } @Override @@ -147,13 +147,13 @@ public Stream stream() { * @return A 3D array representation of a MultiLineString */ public double[][][] toArray() { - final int total = stream().mapToInt(LineString::length).sum(); - final double[][][] matrix = new double[size()][total][2]; + final int countTotal = stream().mapToInt(LineString::length).sum() / size(); + final double[][][] matrix = new double[size()][countTotal][2]; for (int index = 0; index < size(); index++) { final LineString lineString = get(index); - for (int count = 0; count < total; count++) { + for (int count = 0; count < countTotal; count++) { matrix[index][count][0] = lineString.getX(count); matrix[index][count][1] = lineString.getY(count); } diff --git a/src/main/java/info/freelibrary/iiif/presentation/v3/exts/geo/MultiPoint.java b/src/main/java/info/freelibrary/iiif/presentation/v3/exts/geo/MultiPoint.java index 7693a0fd..54d5bbe1 100644 --- a/src/main/java/info/freelibrary/iiif/presentation/v3/exts/geo/MultiPoint.java +++ b/src/main/java/info/freelibrary/iiif/presentation/v3/exts/geo/MultiPoint.java @@ -93,7 +93,7 @@ public Point previous() { throw new NoSuchElementException(); } - return myPoints[myIndex--]; + return myPoints[--myIndex]; } @Override diff --git a/src/main/java/info/freelibrary/iiif/presentation/v3/exts/geo/NavPlaceFeature.java b/src/main/java/info/freelibrary/iiif/presentation/v3/exts/geo/NavPlaceFeature.java index 5ef681d8..55037734 100644 --- a/src/main/java/info/freelibrary/iiif/presentation/v3/exts/geo/NavPlaceFeature.java +++ b/src/main/java/info/freelibrary/iiif/presentation/v3/exts/geo/NavPlaceFeature.java @@ -1,6 +1,8 @@ package info.freelibrary.iiif.presentation.v3.exts.geo; +import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_EMPTY; + import java.util.Optional; import com.fasterxml.jackson.annotation.JsonGetter; @@ -10,13 +12,14 @@ import info.freelibrary.util.Logger; import info.freelibrary.util.LoggerFactory; +import info.freelibrary.iiif.presentation.v3.ids.UriUtils; import info.freelibrary.iiif.presentation.v3.utils.JsonKeys; import info.freelibrary.iiif.presentation.v3.utils.MessageCodes; /** * A spatially bounded thing. */ -@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonInclude(NON_EMPTY) public class NavPlaceFeature { /** The NavPlaceFeature's logger. */ @@ -47,7 +50,7 @@ public NavPlaceFeature() { * @param aID A feature ID */ public NavPlaceFeature(final String aID) { - myID = aID; + myID = UriUtils.checkID(aID, true); } /** @@ -76,8 +79,8 @@ public Geometry getGeometry() { * @return The navPlace feature ID */ @JsonGetter(JsonKeys.ID) - public String getID() { - return myID; + public Optional getID() { + return Optional.ofNullable(myID); } /** @@ -160,7 +163,7 @@ public NavPlaceFeature setProperties(final Properties aProperties) { @JsonSetter(JsonKeys.TYPE) private void setType(final String aType) { if (!JsonKeys.FEATURE.equals(aType)) { - throw new IllegalArgumentException(LOGGER.getMessage("{} is not a valid navPlace type", aType)); + throw new IllegalArgumentException(LOGGER.getMessage(MessageCodes.JPA_146, aType)); } } } diff --git a/src/main/java/info/freelibrary/iiif/presentation/v3/exts/geo/Properties.java b/src/main/java/info/freelibrary/iiif/presentation/v3/exts/geo/Properties.java index df84cc2c..70c2a502 100644 --- a/src/main/java/info/freelibrary/iiif/presentation/v3/exts/geo/Properties.java +++ b/src/main/java/info/freelibrary/iiif/presentation/v3/exts/geo/Properties.java @@ -13,10 +13,11 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import info.freelibrary.util.warnings.PMD; + import info.freelibrary.iiif.presentation.v3.properties.Property; import info.freelibrary.iiif.presentation.v3.utils.json.PropertiesDeserializer; import info.freelibrary.iiif.presentation.v3.utils.json.PropertiesSerializer; -import info.freelibrary.util.warnings.PMD; /** * A wrapper for I18n properties. @@ -87,7 +88,11 @@ public boolean containsAll(final Collection aCollection) { @Override public boolean equals(final Object aObject) { - return aObject instanceof Properties && myProperties.equals(aObject); + if (aObject instanceof final Properties properties) { + return myProperties.equals(properties.myProperties); + } + + return false; } /** diff --git a/src/main/resources/iiif_presentation_messages.xml b/src/main/resources/iiif_presentation_messages.xml index c6c9d462..cdfcffc4 100644 --- a/src/main/resources/iiif_presentation_messages.xml +++ b/src/main/resources/iiif_presentation_messages.xml @@ -116,7 +116,7 @@ The supplementWith() method cannot be usd if the canvas doesn't have a minter set Internationalizations must be submitted in an array that alternates between language codes and string values - + {} is not a valid navPlace type diff --git a/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/AssessingAnnotationTest.java b/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/AssessingAnnotationTest.java index 00bd18bf..d0e403ad 100644 --- a/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/AssessingAnnotationTest.java +++ b/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/AssessingAnnotationTest.java @@ -2,11 +2,13 @@ package info.freelibrary.iiif.presentation.v3.annotations; import static info.freelibrary.iiif.presentation.v3.utils.TestUtils.getRandom; +import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertTrue; import org.junit.Before; import org.junit.Test; +import info.freelibrary.iiif.presentation.v3.Annotation; import info.freelibrary.iiif.presentation.v3.Canvas; import info.freelibrary.iiif.presentation.v3.CanvasResource; import info.freelibrary.iiif.presentation.v3.Manifest; @@ -128,9 +130,11 @@ public final void testSetMotivationMotivation() { /** * Test method for {@link BookmarkingAnnotation#setMotivation(Motivation)}. */ - @Test(expected = IllegalArgumentException.class) + @Test public final void testSetMotivationMotivationBad() { - assertTrue(new AssessingAnnotation(myMinter).setMotivation(Motivation.fromLabel(Purpose.BOOKMARKING)).getID() - .startsWith(ID_PATTERN)); + final Annotation anno = new AssessingAnnotation(myMinter); + final Motivation motivation = Motivation.fromLabel(Purpose.BOOKMARKING); + + assertThrows(IllegalArgumentException.class, () -> anno.setMotivation(motivation)); } } diff --git a/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/BookmarkingAnnotationTest.java b/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/BookmarkingAnnotationTest.java index ee47b3d0..eb2996a5 100644 --- a/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/BookmarkingAnnotationTest.java +++ b/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/BookmarkingAnnotationTest.java @@ -2,11 +2,13 @@ package info.freelibrary.iiif.presentation.v3.annotations; import static info.freelibrary.iiif.presentation.v3.utils.TestUtils.getRandom; +import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertTrue; import org.junit.Before; import org.junit.Test; +import info.freelibrary.iiif.presentation.v3.Annotation; import info.freelibrary.iiif.presentation.v3.Canvas; import info.freelibrary.iiif.presentation.v3.CanvasResource; import info.freelibrary.iiif.presentation.v3.Manifest; @@ -130,9 +132,11 @@ public final void testSetMotivationMotivation() { /** * Test method for {@link BookmarkingAnnotation#setMotivation(Motivation)}. */ - @Test(expected = IllegalArgumentException.class) + @Test public final void testSetMotivationMotivationBad() { - assertTrue(new BookmarkingAnnotation(myMinter).setMotivation(Motivation.fromLabel(Purpose.ASSESSING)).getID() - .startsWith(ID_PATTERN)); + final Annotation anno = new BookmarkingAnnotation(myMinter); + final Motivation motivation = Motivation.fromLabel(Purpose.ASSESSING); + + assertThrows(IllegalArgumentException.class, () -> anno.setMotivation(motivation)); } } diff --git a/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/ClassifyingAnnotationTest.java b/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/ClassifyingAnnotationTest.java index 68382dff..8d818dad 100644 --- a/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/ClassifyingAnnotationTest.java +++ b/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/ClassifyingAnnotationTest.java @@ -2,11 +2,13 @@ package info.freelibrary.iiif.presentation.v3.annotations; import static info.freelibrary.iiif.presentation.v3.utils.TestUtils.getRandom; +import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertTrue; import org.junit.Before; import org.junit.Test; +import info.freelibrary.iiif.presentation.v3.Annotation; import info.freelibrary.iiif.presentation.v3.Canvas; import info.freelibrary.iiif.presentation.v3.CanvasResource; import info.freelibrary.iiif.presentation.v3.Manifest; @@ -130,9 +132,11 @@ public final void testSetMotivationMotivation() { /** * Test method for {@link ClassifyingAnnotation#setMotivation(Motivation)}. */ - @Test(expected = IllegalArgumentException.class) + @Test public final void testSetMotivationMotivationBad() { - assertTrue(new ClassifyingAnnotation(myMinter).setMotivation(Motivation.fromLabel(Purpose.ASSESSING)).getID() - .startsWith(ID_PATTERN)); + final Annotation anno = new ClassifyingAnnotation(myMinter); + final Motivation motivation = Motivation.fromLabel(Purpose.ASSESSING); + + assertThrows(IllegalArgumentException.class, () -> anno.setMotivation(motivation)); } } diff --git a/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/CommentingAnnotationTest.java b/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/CommentingAnnotationTest.java index 6e579a26..e9fc7f8e 100644 --- a/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/CommentingAnnotationTest.java +++ b/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/CommentingAnnotationTest.java @@ -2,11 +2,13 @@ package info.freelibrary.iiif.presentation.v3.annotations; import static info.freelibrary.iiif.presentation.v3.utils.TestUtils.getRandom; +import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertTrue; import org.junit.Before; import org.junit.Test; +import info.freelibrary.iiif.presentation.v3.Annotation; import info.freelibrary.iiif.presentation.v3.Canvas; import info.freelibrary.iiif.presentation.v3.CanvasResource; import info.freelibrary.iiif.presentation.v3.Manifest; @@ -128,9 +130,11 @@ public final void testSetMotivationMotivation() { /** * Test method for {@link CommentingAnnotation#setMotivation(Motivation)}. */ - @Test(expected = IllegalArgumentException.class) + @Test public final void testSetMotivationMotivationBad() { - assertTrue(new CommentingAnnotation(myMinter).setMotivation(Motivation.fromLabel(Purpose.ASSESSING)).getID() - .startsWith(ID_PATTERN)); + final Annotation anno = new CommentingAnnotation(myMinter); + final Motivation motivation = Motivation.fromLabel(Purpose.ASSESSING); + + assertThrows(IllegalArgumentException.class, () -> anno.setMotivation(motivation)); } } diff --git a/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/DescribingAnnotationTest.java b/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/DescribingAnnotationTest.java index 1b96754d..6e867623 100644 --- a/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/DescribingAnnotationTest.java +++ b/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/DescribingAnnotationTest.java @@ -2,11 +2,13 @@ package info.freelibrary.iiif.presentation.v3.annotations; import static info.freelibrary.iiif.presentation.v3.utils.TestUtils.getRandom; +import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertTrue; import org.junit.Before; import org.junit.Test; +import info.freelibrary.iiif.presentation.v3.Annotation; import info.freelibrary.iiif.presentation.v3.Canvas; import info.freelibrary.iiif.presentation.v3.CanvasResource; import info.freelibrary.iiif.presentation.v3.Manifest; @@ -128,9 +130,11 @@ public final void testSetMotivationMotivation() { /** * Test method for {@link DescribingAnnotation#setMotivation(Motivation)}. */ - @Test(expected = IllegalArgumentException.class) + @Test public final void testSetMotivationMotivationBad() { - assertTrue(new DescribingAnnotation(myMinter).setMotivation(Motivation.fromLabel(Purpose.ASSESSING)).getID() - .startsWith(ID_PATTERN)); + final Annotation anno = new DescribingAnnotation(myMinter); + final Motivation motivation = Motivation.fromLabel(Purpose.ASSESSING); + + assertThrows(IllegalArgumentException.class, () -> anno.setMotivation(motivation)); } } diff --git a/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/EditingAnnotationTest.java b/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/EditingAnnotationTest.java index 62988274..281e205a 100644 --- a/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/EditingAnnotationTest.java +++ b/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/EditingAnnotationTest.java @@ -2,11 +2,13 @@ package info.freelibrary.iiif.presentation.v3.annotations; import static info.freelibrary.iiif.presentation.v3.utils.TestUtils.getRandom; +import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertTrue; import org.junit.Before; import org.junit.Test; +import info.freelibrary.iiif.presentation.v3.Annotation; import info.freelibrary.iiif.presentation.v3.Canvas; import info.freelibrary.iiif.presentation.v3.CanvasResource; import info.freelibrary.iiif.presentation.v3.Manifest; @@ -128,9 +130,11 @@ public final void testSetMotivationMotivation() { /** * Test method for {@link EditingAnnotation#setMotivation(Motivation)}. */ - @Test(expected = IllegalArgumentException.class) + @Test public final void testSetMotivationMotivationBad() { - assertTrue(new EditingAnnotation(myMinter).setMotivation(Motivation.fromLabel(Purpose.ASSESSING)).getID() - .startsWith(ID_PATTERN)); + final Annotation anno = new EditingAnnotation(myMinter); + final Motivation motivation = Motivation.fromLabel(Purpose.ASSESSING); + + assertThrows(IllegalArgumentException.class, () -> anno.setMotivation(motivation)); } } diff --git a/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/HighlightingAnnotationTest.java b/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/HighlightingAnnotationTest.java index d40582ce..ee3b5e93 100644 --- a/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/HighlightingAnnotationTest.java +++ b/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/HighlightingAnnotationTest.java @@ -2,11 +2,13 @@ package info.freelibrary.iiif.presentation.v3.annotations; import static info.freelibrary.iiif.presentation.v3.utils.TestUtils.getRandom; +import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertTrue; import org.junit.Before; import org.junit.Test; +import info.freelibrary.iiif.presentation.v3.Annotation; import info.freelibrary.iiif.presentation.v3.Canvas; import info.freelibrary.iiif.presentation.v3.CanvasResource; import info.freelibrary.iiif.presentation.v3.Manifest; @@ -130,9 +132,11 @@ public final void testSetMotivationMotivation() { /** * Test method for {@link HighlightingAnnotation#setMotivation(Motivation)}. */ - @Test(expected = IllegalArgumentException.class) + @Test public final void testSetMotivationMotivationBad() { - assertTrue(new HighlightingAnnotation(myMinter).setMotivation(Motivation.fromLabel(Purpose.ASSESSING)).getID() - .startsWith(ID_PATTERN)); + final Annotation anno = new HighlightingAnnotation(myMinter); + final Motivation motivation = Motivation.fromLabel(Purpose.ASSESSING); + + assertThrows(IllegalArgumentException.class, () -> anno.setMotivation(motivation)); } } diff --git a/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/IdentifyingAnnotationTest.java b/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/IdentifyingAnnotationTest.java index 03c65c38..40abd4fe 100644 --- a/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/IdentifyingAnnotationTest.java +++ b/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/IdentifyingAnnotationTest.java @@ -2,11 +2,13 @@ package info.freelibrary.iiif.presentation.v3.annotations; import static info.freelibrary.iiif.presentation.v3.utils.TestUtils.getRandom; +import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertTrue; import org.junit.Before; import org.junit.Test; +import info.freelibrary.iiif.presentation.v3.Annotation; import info.freelibrary.iiif.presentation.v3.Canvas; import info.freelibrary.iiif.presentation.v3.CanvasResource; import info.freelibrary.iiif.presentation.v3.Manifest; @@ -130,9 +132,11 @@ public final void testSetMotivationMotivation() { /** * Test method for {@link IdentifyingAnnotation#setMotivation(Motivation)}. */ - @Test(expected = IllegalArgumentException.class) + @Test public final void testSetMotivationMotivationBad() { - assertTrue(new IdentifyingAnnotation(myMinter).setMotivation(Motivation.fromLabel(Purpose.ASSESSING)).getID() - .startsWith(ID_PATTERN)); + final Annotation anno = new IdentifyingAnnotation(myMinter); + final Motivation motivation = Motivation.fromLabel(Purpose.ASSESSING); + + assertThrows(IllegalArgumentException.class, () -> anno.setMotivation(motivation)); } } diff --git a/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/LinkingAnnotationTest.java b/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/LinkingAnnotationTest.java index 75650bd7..6a346e18 100644 --- a/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/LinkingAnnotationTest.java +++ b/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/LinkingAnnotationTest.java @@ -2,11 +2,13 @@ package info.freelibrary.iiif.presentation.v3.annotations; import static info.freelibrary.iiif.presentation.v3.utils.TestUtils.getRandom; +import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertTrue; import org.junit.Before; import org.junit.Test; +import info.freelibrary.iiif.presentation.v3.Annotation; import info.freelibrary.iiif.presentation.v3.Canvas; import info.freelibrary.iiif.presentation.v3.CanvasResource; import info.freelibrary.iiif.presentation.v3.Manifest; @@ -128,9 +130,11 @@ public final void testSetMotivationMotivation() { /** * Test method for {@link LinkingAnnotation#setMotivation(Motivation)}. */ - @Test(expected = IllegalArgumentException.class) + @Test public final void testSetMotivationMotivationBad() { - assertTrue(new LinkingAnnotation(myMinter).setMotivation(Motivation.fromLabel(Purpose.ASSESSING)).getID() - .startsWith(ID_PATTERN)); + final Annotation anno = new LinkingAnnotation(myMinter); + final Motivation motivation = Motivation.fromLabel(Purpose.ASSESSING); + + assertThrows(IllegalArgumentException.class, () -> anno.setMotivation(motivation)); } } diff --git a/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/ModeratingAnnotationTest.java b/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/ModeratingAnnotationTest.java index 60529d8f..7cc191f8 100644 --- a/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/ModeratingAnnotationTest.java +++ b/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/ModeratingAnnotationTest.java @@ -2,11 +2,13 @@ package info.freelibrary.iiif.presentation.v3.annotations; import static info.freelibrary.iiif.presentation.v3.utils.TestUtils.getRandom; +import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertTrue; import org.junit.Before; import org.junit.Test; +import info.freelibrary.iiif.presentation.v3.Annotation; import info.freelibrary.iiif.presentation.v3.Canvas; import info.freelibrary.iiif.presentation.v3.CanvasResource; import info.freelibrary.iiif.presentation.v3.Manifest; @@ -128,9 +130,11 @@ public final void testSetMotivationMotivation() { /** * Test method for {@link ModeratingAnnotation#setMotivation(Motivation)}. */ - @Test(expected = IllegalArgumentException.class) + @Test public final void testSetMotivationMotivationBad() { - assertTrue(new ModeratingAnnotation(myMinter).setMotivation(Motivation.fromLabel(Purpose.ASSESSING)).getID() - .startsWith(ID_PATTERN)); + final Annotation anno = new ModeratingAnnotation(myMinter); + final Motivation motivation = Motivation.fromLabel(Purpose.ASSESSING); + + assertThrows(IllegalArgumentException.class, () -> anno.setMotivation(motivation)); } } diff --git a/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/QuestioningAnnotationTest.java b/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/QuestioningAnnotationTest.java index 3861df23..6b001626 100644 --- a/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/QuestioningAnnotationTest.java +++ b/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/QuestioningAnnotationTest.java @@ -2,11 +2,13 @@ package info.freelibrary.iiif.presentation.v3.annotations; import static info.freelibrary.iiif.presentation.v3.utils.TestUtils.getRandom; +import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertTrue; import org.junit.Before; import org.junit.Test; +import info.freelibrary.iiif.presentation.v3.Annotation; import info.freelibrary.iiif.presentation.v3.Canvas; import info.freelibrary.iiif.presentation.v3.CanvasResource; import info.freelibrary.iiif.presentation.v3.Manifest; @@ -130,9 +132,11 @@ public final void testSetMotivationMotivation() { /** * Test method for {@link QuestioningAnnotation#setMotivation(Motivation)}. */ - @Test(expected = IllegalArgumentException.class) + @Test public final void testSetMotivationMotivationBad() { - assertTrue(new QuestioningAnnotation(myMinter).setMotivation(Motivation.fromLabel(Purpose.ASSESSING)).getID() - .startsWith(ID_PATTERN)); + final Annotation anno = new QuestioningAnnotation(myMinter); + final Motivation motivation = Motivation.fromLabel(Purpose.ASSESSING); + + assertThrows(IllegalArgumentException.class, () -> anno.setMotivation(motivation)); } } diff --git a/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/ReplyingAnnotationTest.java b/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/ReplyingAnnotationTest.java index a7957bd1..47a96644 100644 --- a/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/ReplyingAnnotationTest.java +++ b/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/ReplyingAnnotationTest.java @@ -2,11 +2,13 @@ package info.freelibrary.iiif.presentation.v3.annotations; import static info.freelibrary.iiif.presentation.v3.utils.TestUtils.getRandom; +import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertTrue; import org.junit.Before; import org.junit.Test; +import info.freelibrary.iiif.presentation.v3.Annotation; import info.freelibrary.iiif.presentation.v3.Canvas; import info.freelibrary.iiif.presentation.v3.CanvasResource; import info.freelibrary.iiif.presentation.v3.Manifest; @@ -128,9 +130,11 @@ public final void testSetMotivationMotivation() { /** * Test method for {@link ReplyingAnnotation#setMotivation(Motivation)}. */ - @Test(expected = IllegalArgumentException.class) + @Test public final void testSetMotivationMotivationBad() { - assertTrue(new ReplyingAnnotation(myMinter).setMotivation(Motivation.fromLabel(Purpose.ASSESSING)).getID() - .startsWith(ID_PATTERN)); + final Annotation anno = new ReplyingAnnotation(myMinter); + final Motivation motivation = Motivation.fromLabel(Purpose.ASSESSING); + + assertThrows(IllegalArgumentException.class, () -> anno.setMotivation(motivation)); } } diff --git a/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/TaggingAnnotationTest.java b/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/TaggingAnnotationTest.java index f15191a8..5e0cbaba 100644 --- a/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/TaggingAnnotationTest.java +++ b/src/test/java/info/freelibrary/iiif/presentation/v3/annotations/TaggingAnnotationTest.java @@ -2,11 +2,13 @@ package info.freelibrary.iiif.presentation.v3.annotations; import static info.freelibrary.iiif.presentation.v3.utils.TestUtils.getRandom; +import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertTrue; import org.junit.Before; import org.junit.Test; +import info.freelibrary.iiif.presentation.v3.Annotation; import info.freelibrary.iiif.presentation.v3.Canvas; import info.freelibrary.iiif.presentation.v3.CanvasResource; import info.freelibrary.iiif.presentation.v3.Manifest; @@ -49,10 +51,12 @@ public final void testSetMotivationMotivation() { /** * Test method for {@link TaggingAnnotation#setMotivation(Motivation)}. */ - @Test(expected = IllegalArgumentException.class) + @Test public final void testSetMotivationMotivationBad() { - assertTrue(new TaggingAnnotation(myMinter).setMotivation(Motivation.fromLabel(Purpose.ASSESSING)).getID() - .startsWith(ID_PATTERN)); + final Annotation anno = new TaggingAnnotation(myMinter); + final Motivation motivation = Motivation.fromLabel(Purpose.BOOKMARKING); + + assertThrows(IllegalArgumentException.class, () -> anno.setMotivation(motivation)); } /** @@ -133,4 +137,5 @@ public final void testTaggingAnnotationStringTarget() { assertTrue(new TaggingAnnotation(ID_PATTERN + getRandom(), new Target(new Canvas(myMinter))).getID() .startsWith(ID_PATTERN)); } + } diff --git a/src/test/java/info/freelibrary/iiif/presentation/v3/exts/geo/BoundingBoxTest.java b/src/test/java/info/freelibrary/iiif/presentation/v3/exts/geo/BoundingBoxTest.java index 205f224a..21d6d33a 100644 --- a/src/test/java/info/freelibrary/iiif/presentation/v3/exts/geo/BoundingBoxTest.java +++ b/src/test/java/info/freelibrary/iiif/presentation/v3/exts/geo/BoundingBoxTest.java @@ -2,9 +2,8 @@ package info.freelibrary.iiif.presentation.v3.exts.geo; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.Assert.assertTrue; -import org.junit.Before; import org.junit.Test; /** @@ -12,15 +11,6 @@ */ public class BoundingBoxTest { - /** - * Sets up the testing environment. - * - * @throws Exception - */ - @Before - public void setUp() throws Exception { - } - /** * Test method for {@link BoundingBox#BoundingBox(BoundingBox)}. */ @@ -29,10 +19,10 @@ public final void testBoundingBoxBoundingBox() { final BoundingBox box = new BoundingBox(0, 0, 10, 10); final BoundingBox testBox = new BoundingBox(box); - assertEquals(0, testBox.getWest()); - assertEquals(0, testBox.getSouth()); - assertEquals(10, testBox.getEast()); - assertEquals(10, testBox.getNorth()); + assertEquals(0, testBox.getWest(), 0.0001f); + assertEquals(0, testBox.getSouth(), 0.0001f); + assertEquals(10, testBox.getEast(), 0.0001f); + assertEquals(10, testBox.getNorth(), 0.0001f); } /** @@ -40,7 +30,12 @@ public final void testBoundingBoxBoundingBox() { */ @Test public final void testBoundingBoxDoubleDoubleDoubleDouble() { - fail("Not yet implemented"); + final BoundingBox testBox = new BoundingBox(0, 0, 10, 10); + + assertEquals(0, testBox.getWest(), 0.0001f); + assertEquals(0, testBox.getSouth(), 0.0001f); + assertEquals(10, testBox.getEast(), 0.0001f); + assertEquals(10, testBox.getNorth(), 0.0001f); } /** @@ -48,79 +43,55 @@ public final void testBoundingBoxDoubleDoubleDoubleDouble() { */ @Test public final void testBoundingBoxDoubleDoubleDoubleDoubleDoubleDouble() { - fail("Not yet implemented"); - } - - /** - * Test method for {@link BoundingBox#getEast()}. - */ - @Test - public final void testGetEast() { - fail("Not yet implemented"); - } - - /** - * Test method for {@link BoundingBox#getMaxAltitude()}. - */ - @Test - public final void testGetMaxAltitude() { - fail("Not yet implemented"); - } - - /** - * Test method for {@link BoundingBox#getMinAltitude()}. - */ - @Test - public final void testGetMinAltitude() { - fail("Not yet implemented"); - } + final BoundingBox testBox = new BoundingBox(0, 0, 0, 10, 10, 10); - /** - * Test method for {@link BoundingBox#getNorth()}. - */ - @Test - public final void testGetNorth() { - fail("Not yet implemented"); + assertEquals(0, testBox.getWest(), 0.0001f); + assertEquals(0, testBox.getSouth(), 0.0001f); + assertEquals(0, testBox.getMinAltitude().getAsDouble(), 0.0001f); + assertEquals(10, testBox.getEast(), 0.0001f); + assertEquals(10, testBox.getNorth(), 0.0001f); + assertEquals(10, testBox.getMaxAltitude().getAsDouble(), 0.0001f); } /** - * Test method for {@link BoundingBox#getSouth()}. + * Test method for {@link BoundingBox#setEast(double)}. */ @Test - public final void testGetSouth() { - fail("Not yet implemented"); + public final void testSetEast() { + assertEquals(15, new BoundingBox(0, 0, 10, 10).setEast(15).getEast(), 0.0001f); } /** - * Test method for {@link BoundingBox#getWest()}. + * Test method for {@link BoundingBox#setMaxAltitude(double)}. */ @Test - public final void testGetWest() { - fail("Not yet implemented"); + public final void testSetMaxAltitude() { + assertEquals(15, new BoundingBox(0, 0, 0, 10, 10, 10).setMaxAltitude(15).getMaxAltitude().getAsDouble(), + 0.0001f); } /** - * Test method for {@link BoundingBox#setEast(double)}. + * Test method for {@link BoundingBox#setMaxAltitude(double)}. */ @Test - public final void testSetEast() { - fail("Not yet implemented"); + public final void testSetMaxAltitudeEmpty() { + assertTrue(new BoundingBox(0, 0, 10, 10).getMaxAltitude().isEmpty()); } /** - * Test method for {@link BoundingBox#setMaxAltitude(double)}. + * Test method for {@link BoundingBox#setMinAltitude(double)}. */ @Test - public final void testSetMaxAltitude() { - fail("Not yet implemented"); + public final void testSetMinAltitude() { + assertEquals(5, new BoundingBox(0, 0, 0, 10, 10, 10).setMinAltitude(5).getMinAltitude().getAsDouble(), 0.0001f); } /** * Test method for {@link BoundingBox#setMinAltitude(double)}. */ @Test - public final void testSetMinAltitude() { - fail("Not yet implemented"); + public final void testSetMinAltitudeEmpty() { + assertTrue(new BoundingBox(0, 0, 10, 10).getMinAltitude().isEmpty()); } /** @@ -128,7 +99,7 @@ public final void testSetMinAltitude() { */ @Test public final void testSetNorth() { - fail("Not yet implemented"); + assertEquals(15, new BoundingBox(0, 0, 10, 10).setNorth(15).getNorth(), 0.0001f); } /** @@ -136,7 +107,7 @@ public final void testSetNorth() { */ @Test public final void testSetSouth() { - fail("Not yet implemented"); + assertEquals(5, new BoundingBox(0, 0, 10, 10).setSouth(5).getSouth(), 0.0001f); } /** @@ -144,7 +115,7 @@ public final void testSetSouth() { */ @Test public final void testSetWest() { - fail("Not yet implemented"); + assertEquals(5, new BoundingBox(0, 0, 10, 10).setWest(5).getWest(), 0.0001f); } }