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" })
+        );
     }
 }