You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ms...@apache.org on 2020/11/18 12:24:34 UTC
svn commit: r1883594 - in
/pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema:
DublinCoreTest.java PhotoshopSchemaTest.java SchemaTester.java
XMPMediaManagementTest.java
Author: msahyoun
Date: Wed Nov 18 12:24:34 2020
New Revision: 1883594
URL: http://svn.apache.org/viewvc?rev=1883594&view=rev
Log:
PDFBOX-5017: fix additional tests; instanciate per run
Modified:
pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/DublinCoreTest.java
pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/PhotoshopSchemaTest.java
pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/SchemaTester.java
pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/XMPMediaManagementTest.java
Modified: pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/DublinCoreTest.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/DublinCoreTest.java?rev=1883594&r1=1883593&r2=1883594&view=diff
==============================================================================
--- pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/DublinCoreTest.java (original)
+++ pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/DublinCoreTest.java Wed Nov 18 12:24:34 2020
@@ -20,97 +20,119 @@
package org.apache.xmpbox.schema;
+import java.util.stream.Stream;
+
import org.apache.xmpbox.XMPMetadata;
import org.apache.xmpbox.type.Cardinality;
import org.apache.xmpbox.type.Types;
+import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
public class DublinCoreTest
{
+
+ private XMPMetadata metadata;
+ private XMPSchema schema;
+ private Class<?> schemaClass;
+
+ @BeforeEach
+ void initMetadata()
+ {
+ metadata = XMPMetadata.createXMPMetadata();
+ schema = metadata.createAndAddDublinCoreSchema();
+ schemaClass = DublinCoreSchema.class;
+ }
+
@ParameterizedTest
@MethodSource("initializeParameters")
- public void testInitializedToNull(SchemaTester schemaTester) throws Exception
+ public void testInitializedToNull(String fieldName, Types type, Cardinality card) throws Exception
{
+ SchemaTester schemaTester = new SchemaTester(metadata, schema, schemaClass, fieldName, type, card);
schemaTester.testInitializedToNull();
}
@ParameterizedTest
@MethodSource("initializeParameters")
- public void testSettingValue(SchemaTester schemaTester) throws Exception
+ public void testSettingValue(String fieldName, Types type, Cardinality card) throws Exception
{
+ SchemaTester schemaTester = new SchemaTester(metadata, schema, schemaClass, fieldName, type, card);
schemaTester.testSettingValue();
}
@ParameterizedTest
@MethodSource("initializeParameters")
- public void testRandomSettingValue(SchemaTester schemaTester) throws Exception
+ public void testRandomSettingValue(String fieldName, Types type, Cardinality card) throws Exception
{
+ SchemaTester schemaTester = new SchemaTester(metadata, schema, schemaClass, fieldName, type, card);
schemaTester.testRandomSettingValue();
}
@ParameterizedTest
@MethodSource("initializeParameters")
- public void testSettingValueInArray(SchemaTester schemaTester) throws Exception
+ public void testSettingValueInArray(String fieldName, Types type, Cardinality card) throws Exception
{
+ SchemaTester schemaTester = new SchemaTester(metadata, schema, schemaClass, fieldName, type, card);
schemaTester.testSettingValueInArray();
}
@ParameterizedTest
@MethodSource("initializeParameters")
- public void testRandomSettingValueInArray(SchemaTester schemaTester) throws Exception
+ public void testRandomSettingValueInArray(String fieldName, Types type, Cardinality card) throws Exception
{
+ SchemaTester schemaTester = new SchemaTester(metadata, schema, schemaClass, fieldName, type, card);
schemaTester.testRandomSettingValueInArray();
}
@ParameterizedTest
@MethodSource("initializeParameters")
- public void testPropertySetterSimple(SchemaTester schemaTester) throws Exception
+ public void testPropertySetterSimple(String fieldName, Types type, Cardinality card) throws Exception
{
+ SchemaTester schemaTester = new SchemaTester(metadata, schema, schemaClass, fieldName, type, card);
schemaTester.testPropertySetterSimple();
}
@ParameterizedTest
@MethodSource("initializeParameters")
- public void testRandomPropertySetterSimple(SchemaTester schemaTester) throws Exception
+ public void testRandomPropertySetterSimple(String fieldName, Types type, Cardinality card) throws Exception
{
+ SchemaTester schemaTester = new SchemaTester(metadata, schema, schemaClass, fieldName, type, card);
schemaTester.testRandomPropertySetterSimple();
}
@ParameterizedTest
@MethodSource("initializeParameters")
- public void testPropertySetterInArray(SchemaTester schemaTester) throws Exception
+ public void testPropertySetterInArray(String fieldName, Types type, Cardinality card) throws Exception
{
+ SchemaTester schemaTester = new SchemaTester(metadata, schema, schemaClass, fieldName, type, card);
schemaTester.testPropertySetterInArray();
}
@ParameterizedTest
@MethodSource("initializeParameters")
- public void testRandomPropertySetterInArray(SchemaTester schemaTester) throws Exception
+ public void testRandomPropertySetterInArray(String fieldName, Types type, Cardinality card) throws Exception
{
+ SchemaTester schemaTester = new SchemaTester(metadata, schema, schemaClass, fieldName, type, card);
schemaTester.testRandomPropertySetterInArray();
}
- private static SchemaTester[] initializeParameters()
- {
- XMPMetadata metadata = XMPMetadata.createXMPMetadata();
- XMPSchema schema = metadata.createAndAddDublinCoreSchema();
-
- return new SchemaTester[] {
- // data for JobType
- new SchemaTester(metadata, schema, "contributor", Types.ProperName, Cardinality.Bag),
- new SchemaTester(metadata, schema, "coverage", Types.Text, Cardinality.Simple),
- new SchemaTester(metadata, schema, "creator", Types.ProperName, Cardinality.Seq),
- new SchemaTester(metadata, schema, "date", Types.Date, Cardinality.Seq),
- new SchemaTester(metadata, schema, "format", Types.MIMEType, Cardinality.Simple),
- new SchemaTester(metadata, schema, "identifier", Types.Text, Cardinality.Simple),
- new SchemaTester(metadata, schema, "language", Types.Locale, Cardinality.Bag),
- new SchemaTester(metadata, schema, "publisher", Types.ProperName, Cardinality.Bag),
- new SchemaTester(metadata, schema, "relation", Types.Text, Cardinality.Bag),
- new SchemaTester(metadata, schema, "source", Types.Text, Cardinality.Simple),
- new SchemaTester(metadata, schema, "subject", Types.Text, Cardinality.Bag),
- new SchemaTester(metadata, schema, "type", Types.Text, Cardinality.Bag)
- };
+ private static Stream<Arguments> initializeParameters()
+ {
+ return Stream.of(
+ Arguments.of("contributor", Types.ProperName, Cardinality.Bag),
+ Arguments.of("coverage", Types.Text, Cardinality.Simple),
+ Arguments.of("creator", Types.ProperName, Cardinality.Seq),
+ Arguments.of("date", Types.Date, Cardinality.Seq),
+ Arguments.of("format", Types.MIMEType, Cardinality.Simple),
+ Arguments.of("identifier", Types.Text, Cardinality.Simple),
+ Arguments.of("language", Types.Locale, Cardinality.Bag),
+ Arguments.of("publisher", Types.ProperName, Cardinality.Bag),
+ Arguments.of("relation", Types.Text, Cardinality.Bag),
+ Arguments.of("source", Types.Text, Cardinality.Simple),
+ Arguments.of("subject", Types.Text, Cardinality.Bag),
+ Arguments.of("type", Types.Text, Cardinality.Bag)
+ );
}
-}
+}
\ No newline at end of file
Modified: pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/PhotoshopSchemaTest.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/PhotoshopSchemaTest.java?rev=1883594&r1=1883593&r2=1883594&view=diff
==============================================================================
--- pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/PhotoshopSchemaTest.java (original)
+++ pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/PhotoshopSchemaTest.java Wed Nov 18 12:24:34 2020
@@ -20,102 +20,123 @@
package org.apache.xmpbox.schema;
+import java.util.stream.Stream;
+
import org.apache.xmpbox.XMPMetadata;
import org.apache.xmpbox.type.Cardinality;
import org.apache.xmpbox.type.Types;
+import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
public class PhotoshopSchemaTest
{
+ private XMPMetadata metadata;
+ private XMPSchema schema;
+ private Class<?> schemaClass;
+
+ @BeforeEach
+ void initMetadata()
+ {
+ metadata = XMPMetadata.createXMPMetadata();
+ schema = metadata.createAndAddPhotoshopSchema();
+ schemaClass = PhotoshopSchema.class;
+ }
+
@ParameterizedTest
@MethodSource("initializeParameters")
- public void testInitializedToNull(SchemaTester schemaTester) throws Exception
+ public void testInitializedToNull(String fieldName, Types type, Cardinality card) throws Exception
{
+ SchemaTester schemaTester = new SchemaTester(metadata, schema, schemaClass, fieldName, type, card);
schemaTester.testInitializedToNull();
}
@ParameterizedTest
@MethodSource("initializeParameters")
- public void testSettingValue(SchemaTester schemaTester) throws Exception
+ public void testSettingValue(String fieldName, Types type, Cardinality card) throws Exception
{
+ SchemaTester schemaTester = new SchemaTester(metadata, schema, schemaClass, fieldName, type, card);
schemaTester.testSettingValue();
}
@ParameterizedTest
@MethodSource("initializeParameters")
- public void testRandomSettingValue(SchemaTester schemaTester) throws Exception
+ public void testRandomSettingValue(String fieldName, Types type, Cardinality card) throws Exception
{
+ SchemaTester schemaTester = new SchemaTester(metadata, schema, schemaClass, fieldName, type, card);
schemaTester.testRandomSettingValue();
}
@ParameterizedTest
@MethodSource("initializeParameters")
- public void testSettingValueInArray(SchemaTester schemaTester) throws Exception
+ public void testSettingValueInArray(String fieldName, Types type, Cardinality card) throws Exception
{
+ SchemaTester schemaTester = new SchemaTester(metadata, schema, schemaClass, fieldName, type, card);
schemaTester.testSettingValueInArray();
}
@ParameterizedTest
@MethodSource("initializeParameters")
- public void testRandomSettingValueInArray(SchemaTester schemaTester) throws Exception
+ public void testRandomSettingValueInArray(String fieldName, Types type, Cardinality card) throws Exception
{
+ SchemaTester schemaTester = new SchemaTester(metadata, schema, schemaClass, fieldName, type, card);
schemaTester.testRandomSettingValueInArray();
}
@ParameterizedTest
@MethodSource("initializeParameters")
- public void testPropertySetterSimple(SchemaTester schemaTester) throws Exception
+ public void testPropertySetterSimple(String fieldName, Types type, Cardinality card) throws Exception
{
+ SchemaTester schemaTester = new SchemaTester(metadata, schema, schemaClass, fieldName, type, card);
schemaTester.testPropertySetterSimple();
}
@ParameterizedTest
@MethodSource("initializeParameters")
- public void testRandomPropertySetterSimple(SchemaTester schemaTester) throws Exception
+ public void testRandomPropertySetterSimple(String fieldName, Types type, Cardinality card) throws Exception
{
+ SchemaTester schemaTester = new SchemaTester(metadata, schema, schemaClass, fieldName, type, card);
schemaTester.testRandomPropertySetterSimple();
}
@ParameterizedTest
@MethodSource("initializeParameters")
- public void testPropertySetterInArray(SchemaTester schemaTester) throws Exception
+ public void testPropertySetterInArray(String fieldName, Types type, Cardinality card) throws Exception
{
+ SchemaTester schemaTester = new SchemaTester(metadata, schema, schemaClass, fieldName, type, card);
schemaTester.testPropertySetterInArray();
}
@ParameterizedTest
@MethodSource("initializeParameters")
- public void testRandomPropertySetterInArray(SchemaTester schemaTester) throws Exception
+ public void testRandomPropertySetterInArray(String fieldName, Types type, Cardinality card) throws Exception
{
+ SchemaTester schemaTester = new SchemaTester(metadata, schema, schemaClass, fieldName, type, card);
schemaTester.testRandomPropertySetterInArray();
}
- private static SchemaTester[] initializeParameters()
- {
- XMPMetadata metadata = XMPMetadata.createXMPMetadata();
- XMPSchema schema = metadata.createAndAddPhotoshopSchema();
-
- return new SchemaTester[] {
- // data for JobType
- new SchemaTester(metadata, schema, "AncestorID", Types.URI, Cardinality.Simple),
- new SchemaTester(metadata, schema, "AuthorsPosition", Types.Text, Cardinality.Simple),
- new SchemaTester(metadata, schema, "CaptionWriter", Types.ProperName, Cardinality.Simple),
- new SchemaTester(metadata, schema, "Category", Types.Text, Cardinality.Simple),
- new SchemaTester(metadata, schema, "City", Types.Text, Cardinality.Simple),
- new SchemaTester(metadata, schema, "ColorMode", Types.Integer, Cardinality.Simple),
- new SchemaTester(metadata, schema, "Country", Types.Text, Cardinality.Simple),
- new SchemaTester(metadata, schema, "Credit", Types.Text, Cardinality.Simple),
- new SchemaTester(metadata, schema, "DateCreated", Types.Date, Cardinality.Simple),
- new SchemaTester(metadata, schema, "Headline", Types.Text, Cardinality.Simple),
- new SchemaTester(metadata, schema, "History", Types.Text, Cardinality.Simple),
- new SchemaTester(metadata, schema, "ICCProfile", Types.Text, Cardinality.Simple),
- new SchemaTester(metadata, schema, "Instructions", Types.Text, Cardinality.Simple),
- new SchemaTester(metadata, schema, "Source", Types.Text, Cardinality.Simple),
- new SchemaTester(metadata, schema, "State", Types.Text, Cardinality.Simple),
- new SchemaTester(metadata, schema, "SupplementalCategories", Types.Text, Cardinality.Simple),
- new SchemaTester(metadata, schema, "TransmissionReference", Types.Text, Cardinality.Simple),
- new SchemaTester(metadata, schema, "Urgency", Types.Integer, Cardinality.Simple)
- };
+ private static Stream<Arguments> initializeParameters()
+ {
+ return Stream.of(
+ Arguments.of("AncestorID", Types.URI, Cardinality.Simple),
+ Arguments.of("AuthorsPosition", Types.Text, Cardinality.Simple),
+ Arguments.of("CaptionWriter", Types.ProperName, Cardinality.Simple),
+ Arguments.of("Category", Types.Text, Cardinality.Simple),
+ Arguments.of("City", Types.Text, Cardinality.Simple),
+ Arguments.of("ColorMode", Types.Integer, Cardinality.Simple),
+ Arguments.of("Country", Types.Text, Cardinality.Simple),
+ Arguments.of("Credit", Types.Text, Cardinality.Simple),
+ Arguments.of("DateCreated", Types.Date, Cardinality.Simple),
+ Arguments.of("Headline", Types.Text, Cardinality.Simple),
+ Arguments.of("History", Types.Text, Cardinality.Simple),
+ Arguments.of("ICCProfile", Types.Text, Cardinality.Simple),
+ Arguments.of("Instructions", Types.Text, Cardinality.Simple),
+ Arguments.of("Source", Types.Text, Cardinality.Simple),
+ Arguments.of("State", Types.Text, Cardinality.Simple),
+ Arguments.of("SupplementalCategories", Types.Text, Cardinality.Simple),
+ Arguments.of("TransmissionReference", Types.Text, Cardinality.Simple),
+ Arguments.of("Urgency", Types.Integer, Cardinality.Simple)
+ );
}
}
Modified: pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/SchemaTester.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/SchemaTester.java?rev=1883594&r1=1883593&r2=1883594&view=diff
==============================================================================
--- pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/SchemaTester.java (original)
+++ pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/SchemaTester.java Wed Nov 18 12:24:34 2020
@@ -40,31 +40,19 @@ import org.apache.xmpbox.type.Types;
class SchemaTester extends AbstractTypeTester {
- private XMPMetadata xmp;
-
- private XMPSchema xmpSchema;
-
- private String fieldName;
-
+ private final XMPSchema schema;
+ private final Class<?> schemaClass;
+ private final String fieldName;
private Types type;
-
private Cardinality cardinality;
- private TypeMapping typeMapping;;
+ private TypeMapping typeMapping;
- private XMPSchema getSchema() {
- return xmpSchema;
- }
-
- private Class<? extends XMPSchema> getSchemaClass() {
- return getSchema().getClass();
- }
-
- public SchemaTester(XMPMetadata xmp, XMPSchema schema, String fieldName, Types type, Cardinality card)
+ public SchemaTester(XMPMetadata metadata, XMPSchema schema, Class<?> schemaClass, String fieldName, Types type, Cardinality card)
{
- this.xmp = xmp;
- this.xmpSchema = schema;
- this.typeMapping = xmp.getTypeMapping();
+ this.schema = schema;
+ this.schemaClass = schemaClass;
+ this.typeMapping = metadata.getTypeMapping();
this.fieldName = fieldName;
this.type = type;
this.cardinality = card;
@@ -72,14 +60,13 @@ class SchemaTester extends AbstractTypeT
public void testInitializedToNull() throws Exception
{
- XMPSchema schema = getSchema();
// default method
assertNull(schema.getProperty(fieldName));
// accessor
if (cardinality == Cardinality.Simple)
{
String getter = calculateSimpleGetter(fieldName);
- Method get = getSchemaClass().getMethod(getter);
+ Method get = schemaClass.getMethod(getter);
Object result = get.invoke(schema);
assertNull(result);
}
@@ -87,7 +74,7 @@ class SchemaTester extends AbstractTypeT
{
// arrays
String getter = calculateArrayGetter(fieldName);
- Method get = getSchemaClass().getMethod(getter);
+ Method get = schemaClass.getMethod(getter);
Object result = get.invoke(schema);
assertNull(result);
}
@@ -114,7 +101,7 @@ class SchemaTester extends AbstractTypeT
{
return;
}
- XMPSchema schema = getSchema();
+
// only test simple properties
Object value = getJavaValue(type);
AbstractSimpleProperty property = schema.instanciateSimple(fieldName, value);
@@ -122,7 +109,7 @@ class SchemaTester extends AbstractTypeT
String qn = getPropertyQualifiedName(fieldName);
assertNotNull(schema.getProperty(fieldName));
// check other properties not modified
- List<Field> fields = getXmpFields(getSchemaClass());
+ List<Field> fields = getXmpFields(schemaClass);
for (Field field : fields)
{
// do not check the current name
@@ -154,7 +141,7 @@ class SchemaTester extends AbstractTypeT
{
return;
}
- XMPSchema schema = getSchema();
+
// only test array properties
Object value = getJavaValue(type);
AbstractSimpleProperty property = schema.instanciateSimple(fieldName, value);
@@ -172,7 +159,7 @@ class SchemaTester extends AbstractTypeT
String qn = getPropertyQualifiedName(fieldName);
assertNotNull(schema.getProperty(fieldName));
// check other properties not modified
- List<Field> fields = getXmpFields(getSchemaClass());
+ List<Field> fields = getXmpFields(schemaClass);
for (Field field : fields)
{
// do not check the current name
@@ -204,19 +191,19 @@ class SchemaTester extends AbstractTypeT
{
return;
}
- XMPSchema schema = getSchema();
+
String setter = calculateSimpleSetter(fieldName) + "Property";
Object value = getJavaValue(type);
AbstractSimpleProperty asp = typeMapping.instanciateSimpleProperty(schema.getNamespace(), schema
.getPrefix(), fieldName, value, type);
- Method set = getSchemaClass().getMethod(setter, type.getImplementingClass());
+ Method set = schemaClass.getMethod(setter, type.getImplementingClass());
set.invoke(schema, asp);
// check property set
AbstractSimpleProperty stored = (AbstractSimpleProperty) schema.getProperty(fieldName);
assertEquals(value, stored.getValue());
// check getter
String getter = calculateSimpleGetter(fieldName) + "Property";
- Method get = getSchemaClass().getMethod(getter);
+ Method get = schemaClass.getMethod(getter);
Object result = get.invoke(schema);
assertTrue(type.getImplementingClass().isAssignableFrom(result.getClass()));
assertEquals(asp, result);
@@ -242,17 +229,17 @@ class SchemaTester extends AbstractTypeT
{
return;
}
- XMPSchema schema = getSchema();
+
// add value
String setter = "add" + calculateFieldNameForMethod(fieldName);
// TypeDescription<AbstractSimpleProperty> td =
// typeMapping.getSimpleDescription(type);
Object value1 = getJavaValue(type);
- Method set = getSchemaClass().getMethod(setter, getJavaType(type));
+ Method set = schemaClass.getMethod(setter, getJavaType(type));
set.invoke(schema, value1);
// retrieve complex property
String getter = calculateArrayGetter(fieldName) + "Property";
- Method getcp = getSchemaClass().getMethod(getter);
+ Method getcp = schemaClass.getMethod(getter);
Object ocp = getcp.invoke(schema);
assertTrue(ocp instanceof ArrayProperty);
ArrayProperty cp = (ArrayProperty) ocp;
@@ -264,7 +251,7 @@ class SchemaTester extends AbstractTypeT
assertEquals(2, cp.getContainer().getAllProperties().size());
// remove the first
String remover = "remove" + calculateFieldNameForMethod(fieldName);
- Method remove = getSchemaClass().getMethod(remover, getJavaType(type));
+ Method remove = schemaClass.getMethod(remover, getJavaType(type));
remove.invoke(schema, value1);
assertEquals(1, cp.getContainer().getAllProperties().size());
@@ -273,8 +260,7 @@ class SchemaTester extends AbstractTypeT
protected String getPropertyQualifiedName(String name)
{
StringBuilder sb = new StringBuilder();
- sb.append(getSchema().getPrefix()).append(":").append(name);
+ sb.append(schema.getPrefix()).append(":").append(name);
return sb.toString();
}
-
}
Modified: pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/XMPMediaManagementTest.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/XMPMediaManagementTest.java?rev=1883594&r1=1883593&r2=1883594&view=diff
==============================================================================
--- pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/XMPMediaManagementTest.java (original)
+++ pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/XMPMediaManagementTest.java Wed Nov 18 12:24:34 2020
@@ -21,46 +21,61 @@
package org.apache.xmpbox.schema;
+import java.util.stream.Stream;
+
import org.apache.xmpbox.XMPMetadata;
import org.apache.xmpbox.type.Cardinality;
+import org.apache.xmpbox.type.PropertyType;
import org.apache.xmpbox.type.Types;
+import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
public class XMPMediaManagementTest
{
+ private XMPMetadata metadata;
+ private XMPSchema schema;
+ private Class<?> schemaClass;
+
+ @BeforeEach
+ void initMetadata()
+ {
+ metadata = XMPMetadata.createXMPMetadata();
+ schema = metadata.createAndAddXMPMediaManagementSchema();
+ schemaClass = XMPMediaManagementSchema.class;
+ }
+
@ParameterizedTest
@MethodSource("initializeParameters")
- public void testElementValue(XMPSchemaTester xmpSchemaTester) throws Exception
+ public void testElementValue(String property, PropertyType type, Object value) throws Exception
{
+ XMPSchemaTester xmpSchemaTester = new XMPSchemaTester(metadata, schema, schemaClass, property, type, value);
xmpSchemaTester.testGetSetValue();
}
@ParameterizedTest
@MethodSource("initializeParameters")
- public void testElementProperty(XMPSchemaTester xmpSchemaTester) throws Exception
+ public void testElementProperty(String property, PropertyType type, Object value) throws Exception
{
+ XMPSchemaTester xmpSchemaTester = new XMPSchemaTester(metadata, schema, schemaClass, property, type, value);
xmpSchemaTester.testGetSetProperty();
}
- static XMPSchemaTester[] initializeParameters() throws Exception
+ static Stream<Arguments> initializeParameters() throws Exception
{
- XMPMetadata metadata = XMPMetadata.createXMPMetadata();
- XMPSchema schema = metadata.createAndAddXMPMediaManagementSchema();
- Class<?> schemaClass = XMPMediaManagementSchema.class;
-
- return new XMPSchemaTester[] {
- new XMPSchemaTester(metadata, schema, schemaClass, "DocumentID", XMPSchemaTester.createPropertyType(Types.URI), "uuid:FB031973-5E75-11B2-8F06-E7F5C101C07A"),
- new XMPSchemaTester(metadata, schema, schemaClass, "Manager", XMPSchemaTester.createPropertyType(Types.AgentName), "Raoul"),
- new XMPSchemaTester(metadata, schema, schemaClass, "ManageTo", XMPSchemaTester.createPropertyType(Types.URI), "uuid:36"),
- new XMPSchemaTester(metadata, schema, schemaClass, "ManageUI", XMPSchemaTester.createPropertyType(Types.URI), "uuid:3635"),
- new XMPSchemaTester(metadata, schema, schemaClass, "InstanceID", XMPSchemaTester.createPropertyType(Types.URI), "uuid:42"),
- new XMPSchemaTester(metadata, schema, schemaClass, "OriginalDocumentID", XMPSchemaTester.createPropertyType(Types.Text), "uuid:142"),
- new XMPSchemaTester(metadata, schema, schemaClass, "RenditionParams", XMPSchemaTester.createPropertyType(Types.Text), "my params"),
- new XMPSchemaTester(metadata, schema, schemaClass, "VersionID", XMPSchemaTester.createPropertyType(Types.Text), "14"),
- new XMPSchemaTester(metadata, schema, schemaClass, "Versions", XMPSchemaTester.createPropertyType(Types.Version, Cardinality.Seq), new String[] { "1", "2", "3" }),
- new XMPSchemaTester(metadata, schema, schemaClass, "History", XMPSchemaTester.createPropertyType(Types.Text, Cardinality.Seq),new String[] { "action 1", "action 2", "action 3" }),
- new XMPSchemaTester(metadata, schema, schemaClass, "Ingredients", XMPSchemaTester.createPropertyType(Types.Text, Cardinality.Bag), new String[] { "resource1", "resource2" })
- };
+ return Stream.of(
+ Arguments.of("DocumentID", XMPSchemaTester.createPropertyType(Types.URI), "uuid:FB031973-5E75-11B2-8F06-E7F5C101C07A"),
+ Arguments.of("Manager", XMPSchemaTester.createPropertyType(Types.AgentName), "Raoul"),
+ Arguments.of("ManageTo", XMPSchemaTester.createPropertyType(Types.URI), "uuid:36"),
+ Arguments.of("ManageUI", XMPSchemaTester.createPropertyType(Types.URI), "uuid:3635"),
+ Arguments.of("InstanceID", XMPSchemaTester.createPropertyType(Types.URI), "uuid:42"),
+ Arguments.of("OriginalDocumentID", XMPSchemaTester.createPropertyType(Types.Text), "uuid:142"),
+ Arguments.of("RenditionParams", XMPSchemaTester.createPropertyType(Types.Text), "my params"),
+ Arguments.of("VersionID", XMPSchemaTester.createPropertyType(Types.Text), "14"),
+ Arguments.of("Versions", XMPSchemaTester.createPropertyType(Types.Version, Cardinality.Seq), new String[] { "1", "2", "3" }),
+ Arguments.of("History", XMPSchemaTester.createPropertyType(Types.Text, Cardinality.Seq),new String[] { "action 1", "action 2", "action 3" }),
+ Arguments.of("Ingredients", XMPSchemaTester.createPropertyType(Types.Text, Cardinality.Bag), new String[] { "resource1", "resource2" })
+ );
}
}