You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by gb...@apache.org on 2012/07/28 10:37:39 UTC
svn commit: r1366610 [2/2] - in
/pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox: ./ parser/
schema/ type/
Added: pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/type/TestResourceRefType.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/type/TestResourceRefType.java?rev=1366610&view=auto
==============================================================================
--- pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/type/TestResourceRefType.java (added)
+++ pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/type/TestResourceRefType.java Sat Jul 28 08:37:38 2012
@@ -0,0 +1,85 @@
+/*****************************************************************************
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+package org.apache.padaf.xmpbox.type;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.junit.Before;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+@RunWith(Parameterized.class)
+public class TestResourceRefType extends AbstractStructuredTypeTester{
+
+ protected ResourceRefType structured = null;
+
+ @Before
+ public void before () throws Exception {
+ super.before();
+ structured = new ResourceRefType(xmp);
+ }
+
+ public TestResourceRefType (Class<? extends AbstractStructuredType> clz, String field,String type) {
+ super(clz, field, type);
+ }
+
+ @Override
+ protected AbstractStructuredType getStructured() {
+ return structured;
+ }
+
+
+ @Parameters
+ public static Collection<Object[]> initializeParameters() throws Exception {
+ Collection<Object[]> result = new ArrayList<Object[]>();
+
+ // TODO TEST test on arrays
+// result.add(new Object [] {ResourceRefType.class,"alternatePaths","seq URI"});
+ result.add(new Object [] {ResourceRefType.class,"documentID","URI"});
+ result.add(new Object [] {ResourceRefType.class,"filePath","URI"});
+ result.add(new Object [] {ResourceRefType.class,"fromPart","Part"});
+ result.add(new Object [] {ResourceRefType.class,"instanceID","URI"});
+ result.add(new Object [] {ResourceRefType.class,"lastModifyDate","Date"});
+ result.add(new Object [] {ResourceRefType.class,"manager","AgentName"});
+ result.add(new Object [] {ResourceRefType.class,"managerVariant","Text"});
+ result.add(new Object [] {ResourceRefType.class,"manageTo","URI"});
+ result.add(new Object [] {ResourceRefType.class,"manageUI","URI"});
+ result.add(new Object [] {ResourceRefType.class,"maskMarkers","Choice"});
+ result.add(new Object [] {ResourceRefType.class,"partMapping","Text"});
+ result.add(new Object [] {ResourceRefType.class,"renditionClass","RenditionClass"});
+ result.add(new Object [] {ResourceRefType.class,"renditionParams","Text"});
+ result.add(new Object [] {ResourceRefType.class,"toPart","Part"});
+ result.add(new Object [] {ResourceRefType.class,"versionID","Text"});
+
+ return result;
+
+ }
+
+
+
+
+
+
+
+}
Copied: pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/type/TestSimpleMetadataProperties.java (from r1355678, pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/type/SimpleMetadataPropertyTest.java)
URL: http://svn.apache.org/viewvc/pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/type/TestSimpleMetadataProperties.java?p2=pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/type/TestSimpleMetadataProperties.java&p1=pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/type/SimpleMetadataPropertyTest.java&r1=1355678&r2=1366610&rev=1366610&view=diff
==============================================================================
--- pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/type/SimpleMetadataPropertyTest.java (original)
+++ pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/type/TestSimpleMetadataProperties.java Sat Jul 28 08:37:38 2012
@@ -43,7 +43,7 @@ import org.w3c.dom.Element;
* @author a183132
*
*/
-public class SimpleMetadataPropertyTest {
+public class TestSimpleMetadataProperties {
protected XMPMetadata parent;
@@ -59,7 +59,7 @@ public class SimpleMetadataPropertyTest
*/
@Test(expected = IllegalArgumentException.class)
public void testBooleanBadTypeDetection() {
- new BooleanType(parent, "test", "booleen", "Not a Boolean");
+ new BooleanType(parent, null, "test", "booleen", "Not a Boolean");
}
/**
@@ -69,7 +69,7 @@ public class SimpleMetadataPropertyTest
*/
@Test(expected = IllegalArgumentException.class)
public void testDateBadTypeDetection() {
- new DateType(parent, "test", "date", "Bad Date");
+ new DateType(parent, null, "test", "date", "Bad Date");
}
/**
@@ -79,7 +79,7 @@ public class SimpleMetadataPropertyTest
*/
@Test(expected = IllegalArgumentException.class)
public void testIntegerBadTypeDetection() {
- new IntegerType(parent, "test", "integer", "Not an int");
+ new IntegerType(parent, null,"test", "integer", "Not an int");
}
/**
@@ -89,7 +89,7 @@ public class SimpleMetadataPropertyTest
*/
@Test(expected = IllegalArgumentException.class)
public void testRealBadTypeDetection() throws Exception {
- new RealType(parent, "test", "real", "Not a real");
+ new RealType(parent, null,"test", "real", "Not a real");
}
/**
@@ -99,7 +99,7 @@ public class SimpleMetadataPropertyTest
*/
@Test(expected = IllegalArgumentException.class)
public void testTextBadTypeDetection() throws Exception {
- new TextType(parent, "test", "text", Calendar.getInstance());
+ new TextType(parent, null,"test", "text", Calendar.getInstance());
}
/**
@@ -114,12 +114,12 @@ public class SimpleMetadataPropertyTest
int integerv = 1;
float realv = Float.parseFloat("1.69");
String textv = "TEXTCONTENT";
- BooleanType bool = new BooleanType(parent, "test", "booleen", boolv);
- DateType date = new DateType(parent, "test", "date", datev);
- IntegerType integer = new IntegerType(parent, "test", "integer",
+ BooleanType bool = new BooleanType(parent, null, "test", "booleen", boolv);
+ DateType date = new DateType(parent, null,"test", "date", datev);
+ IntegerType integer = new IntegerType(parent, null, "test", "integer",
integerv);
- RealType real = new RealType(parent, "test", "real", realv);
- TextType text = new TextType(parent, "test", "text", textv);
+ RealType real = new RealType(parent, null, "test", "real", realv);
+ TextType text = new TextType(parent, null,"test", "text", textv);
Assert.assertEquals(bool.getNamespace(), bool.getElement()
.getNamespaceURI());
@@ -142,12 +142,12 @@ public class SimpleMetadataPropertyTest
*/
@Test
public void testObjectCreationFromJavaType() throws Exception {
- BooleanType bool = new BooleanType(parent, "test", "booleen", true);
- DateType date = new DateType(parent, "test", "date", Calendar
+ BooleanType bool = new BooleanType(parent, null,"test", "booleen", true);
+ DateType date = new DateType(parent, null, "test", "date", Calendar
.getInstance());
- IntegerType integer = new IntegerType(parent, "test", "integer", 1);
- RealType real = new RealType(parent, "test", "real", (float) 1.6);
- TextType text = new TextType(parent, "test", "text", "TEST");
+ IntegerType integer = new IntegerType(parent,null, "test", "integer", 1);
+ RealType real = new RealType(parent, null,"test", "real", (float) 1.6);
+ TextType text = new TextType(parent, null,"test", "text", "TEST");
Element e = parent.getFuturOwner().createElement("TEST");
parent.getFuturOwner().appendChild(e);
@@ -174,12 +174,12 @@ public class SimpleMetadataPropertyTest
String realv = "1.92";
String textv = "text";
- BooleanType bool = new BooleanType(parent, "test", "booleen", boolv);
- DateType date = new DateType(parent, "test", "date", datev);
- IntegerType integer = new IntegerType(parent, "test", "integer",
+ BooleanType bool = new BooleanType(parent, null, "test", "booleen", boolv);
+ DateType date = new DateType(parent, null,"test", "date", datev);
+ IntegerType integer = new IntegerType(parent,null, "test", "integer",
integerv);
- RealType real = new RealType(parent, "test", "real", realv);
- TextType text = new TextType(parent, "test", "text", textv);
+ RealType real = new RealType(parent, null, "test", "real", realv);
+ TextType text = new TextType(parent, null,"test", "text", textv);
Assert.assertEquals(boolv, bool.getStringValue());
Assert.assertEquals(datev, date.getStringValue());
@@ -239,7 +239,7 @@ public class SimpleMetadataPropertyTest
@Test
public void testAttribute() throws Exception {
- IntegerType integer = new IntegerType(parent, "test", "integer", 1);
+ IntegerType integer = new IntegerType(parent,null, "test", "integer", 1);
Attribute value = new Attribute("http://www.test.org/test/", "test",
"value1", "StringValue1");
Attribute value2 = new Attribute(null, "test", "value2", "StringValue2");
Added: pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/type/TestThumbnailType.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/type/TestThumbnailType.java?rev=1366610&view=auto
==============================================================================
--- pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/type/TestThumbnailType.java (added)
+++ pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/type/TestThumbnailType.java Sat Jul 28 08:37:38 2012
@@ -0,0 +1,72 @@
+/*****************************************************************************
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+package org.apache.padaf.xmpbox.type;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.junit.Before;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+@RunWith(Parameterized.class)
+public class TestThumbnailType extends AbstractStructuredTypeTester{
+
+ protected ThumbnailType structured = null;
+
+ @Before
+ public void before () throws Exception {
+ super.before();
+ structured = new ThumbnailType(xmp);
+ }
+
+ public TestThumbnailType (Class<? extends AbstractStructuredType> clz, String field,String type) {
+ super(clz, field, type);
+ }
+
+ @Override
+ protected AbstractStructuredType getStructured() {
+ return structured;
+ }
+
+
+ @Parameters
+ public static Collection<Object[]> initializeParameters() throws Exception {
+ Collection<Object[]> result = new ArrayList<Object[]>();
+
+ result.add(new Object [] {ThumbnailType.class,"format","Choice"});
+ result.add(new Object [] {ThumbnailType.class,"height","Integer"});
+ result.add(new Object [] {ThumbnailType.class,"width","Integer"});
+ result.add(new Object [] {ThumbnailType.class,"image","Text"});
+
+ return result;
+
+ }
+
+
+
+
+
+
+
+}
Added: pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/type/TestVersionType.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/type/TestVersionType.java?rev=1366610&view=auto
==============================================================================
--- pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/type/TestVersionType.java (added)
+++ pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/type/TestVersionType.java Sat Jul 28 08:37:38 2012
@@ -0,0 +1,72 @@
+/*****************************************************************************
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+package org.apache.padaf.xmpbox.type;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.junit.Before;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+@RunWith(Parameterized.class)
+public class TestVersionType extends AbstractStructuredTypeTester{
+
+ protected VersionType structured = null;
+
+ @Before
+ public void before () throws Exception {
+ super.before();
+ structured = new VersionType(xmp);
+ }
+
+ public TestVersionType (Class<? extends AbstractStructuredType> clz, String field,String type) {
+ super(clz, field, type);
+ }
+
+ @Override
+ protected AbstractStructuredType getStructured() {
+ return structured;
+ }
+
+
+ @Parameters
+ public static Collection<Object[]> initializeParameters() throws Exception {
+ Collection<Object[]> result = new ArrayList<Object[]>();
+
+ result.add(new Object [] {VersionType.class,"version","Text"});
+ result.add(new Object [] {VersionType.class,"comments","Text"});
+ result.add(new Object [] {VersionType.class,"modifyDate","Date"});
+ result.add(new Object [] {VersionType.class,"modifier","ProperName"});
+
+ return result;
+
+ }
+
+
+
+
+
+
+
+}
Added: pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/type/TypeTestingHelper.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/type/TypeTestingHelper.java?rev=1366610&view=auto
==============================================================================
--- pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/type/TypeTestingHelper.java (added)
+++ pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/type/TypeTestingHelper.java Sat Jul 28 08:37:38 2012
@@ -0,0 +1,109 @@
+ /*****************************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+package org.apache.padaf.xmpbox.type;
+
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.List;
+import java.util.Random;
+import java.util.UUID;
+
+import org.apache.padaf.xmpbox.schema.PropertyType;
+
+public final class TypeTestingHelper {
+
+
+ public static String calculateSimpleGetter (String name) {
+ StringBuilder sb = new StringBuilder(3+name.length());
+ sb.append("get").append(calculateFieldNameForMethod(name));
+ return sb.toString();
+ }
+
+ public static String calculateArrayGetter (String name) {
+ StringBuilder sb = new StringBuilder(4+name.length());
+ String fn = calculateFieldNameForMethod(name);
+ sb.append("get").append(fn);
+ if (!fn.endsWith("s")) {
+ sb.append("s");
+ }
+ return sb.toString();
+ }
+
+ public static String calculateSimpleSetter (String name) {
+ StringBuilder sb = new StringBuilder(3+name.length());
+ sb.append("set").append(calculateFieldNameForMethod(name));
+ return sb.toString();
+ }
+
+ public static String calculateFieldNameForMethod (String name) {
+ StringBuilder sb = new StringBuilder(name.length());
+ sb.append(name.substring(0, 1).toUpperCase()).append(name.substring(1));
+ return sb.toString();
+ }
+
+
+ public static Class<?> getJavaType (TypeDescription td) {
+ if (td.getTypeClass()==TextType.class) {
+ return String.class;
+ } else if (td.getTypeClass()==DateType.class) {
+ return Calendar.class;
+ } else if (td.getTypeClass()==IntegerType.class) {
+ return Integer.class;
+ } else if (TextType.class.isAssignableFrom(td.getTypeClass())) {
+ return String.class;
+ } else {
+ throw new IllegalArgumentException("TODO : type not expected in test : "+td.getTypeClass());
+ }
+ }
+
+ public static Object getJavaValue (TypeDescription td) {
+ if (td.getTypeClass()==TextType.class) {
+ return UUID.randomUUID().toString();
+ } else if (td.getTypeClass()==DateType.class) {
+ // use random because test are too fast (generate same calendar twice)
+ Calendar calendar = Calendar.getInstance();
+ Random rand = new Random();
+ calendar.setTimeInMillis(rand.nextLong());
+ return calendar;
+ } else if (td.getTypeClass()==IntegerType.class) {
+ return new Integer(14);
+ } else if (TextType.class.isAssignableFrom(td.getTypeClass())) {
+ // all derived from TextType
+ return UUID.randomUUID().toString();
+ } else {
+ throw new IllegalArgumentException("TODO : type not expected in test : "+td.getTypeClass());
+ }
+ }
+
+ public static List<Field> getXmpFields (Class<?> clz) {
+ Field [] fields = clz.getFields();
+ List<Field> result = new ArrayList<Field>(fields.length);
+ for (Field field : fields) {
+ if (field.getAnnotation(PropertyType.class)!=null) {
+ result.add(field);
+ }
+ }
+ return result;
+ }
+
+
+}