Author: jukka
Date: Thu Oct 18 00:16:02 2007
New Revision: 585888
URL: http://svn.apache.org/viewvc?rev=585888&view=rev
Log:
Correct indenting (four spaces instead of one as the first indent on line)
Modified:
incubator/tika/trunk/src/test/java/org/apache/tika/metadata/TestMetadata.java
incubator/tika/trunk/src/test/java/org/apache/tika/metadata/TestSpellCheckedMetadata.java
Modified:
incubator/tika/trunk/src/test/java/org/apache/tika/metadata/TestMetadata.java
URL:
http://svn.apache.org/viewvc/incubator/tika/trunk/src/test/java/org/apache/tika/metadata/TestMetadata.java?rev=585888&r1=585887&r2=585888&view=diff
==============================================================================
---
incubator/tika/trunk/src/test/java/org/apache/tika/metadata/TestMetadata.java
(original)
+++
incubator/tika/trunk/src/test/java/org/apache/tika/metadata/TestMetadata.java
Thu Oct 18 00:16:02 2007
@@ -16,10 +16,10 @@
*/
package org.apache.tika.metadata;
-// JDK imports
+//JDK imports
import java.util.Properties;
-// Junit imports
+//Junit imports
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
@@ -30,182 +30,182 @@
*/
public class TestMetadata extends TestCase {
- private static final String CONTENTTYPE = "contenttype";
+ private static final String CONTENTTYPE = "contenttype";
- public TestMetadata(String testName) {
- super(testName);
- }
-
- public static Test suite() {
- return new TestSuite(TestMetadata.class);
- }
-
- public static void main(String[] args) {
- TestRunner.run(suite());
- }
-
- /** Test for the <code>add(String, String)</code> method. */
- public void testAdd() {
- String[] values = null;
- Metadata meta = new Metadata();
-
- values = meta.getValues(CONTENTTYPE);
- assertEquals(0, values.length);
-
- meta.add(CONTENTTYPE, "value1");
- values = meta.getValues(CONTENTTYPE);
- assertEquals(1, values.length);
- assertEquals("value1", values[0]);
-
- meta.add(CONTENTTYPE, "value2");
- values = meta.getValues(CONTENTTYPE);
- assertEquals(2, values.length);
- assertEquals("value1", values[0]);
- assertEquals("value2", values[1]);
-
- // NOTE : For now, the same value can be added many times.
- // Should it be changed?
- meta.add(CONTENTTYPE, "value1");
- values = meta.getValues(CONTENTTYPE);
- assertEquals(3, values.length);
- assertEquals("value1", values[0]);
- assertEquals("value2", values[1]);
- assertEquals("value1", values[2]);
- }
-
- /** Test for the <code>set(String, String)</code> method. */
- public void testSet() {
- String[] values = null;
- Metadata meta = new Metadata();
-
- values = meta.getValues(CONTENTTYPE);
- assertEquals(0, values.length);
-
- meta.set(CONTENTTYPE, "value1");
- values = meta.getValues(CONTENTTYPE);
- assertEquals(1, values.length);
- assertEquals("value1", values[0]);
-
- meta.set(CONTENTTYPE, "value2");
- values = meta.getValues(CONTENTTYPE);
- assertEquals(1, values.length);
- assertEquals("value2", values[0]);
-
- meta.set(CONTENTTYPE, "new value 1");
- meta.add("contenttype", "new value 2");
- values = meta.getValues(CONTENTTYPE);
- assertEquals(2, values.length);
- assertEquals("new value 1", values[0]);
- assertEquals("new value 2", values[1]);
- }
-
- /** Test for <code>setAll(Properties)</code> method. */
- public void testSetProperties() {
- String[] values = null;
- Metadata meta = new Metadata();
- Properties props = new Properties();
-
- meta.setAll(props);
- assertEquals(0, meta.size());
-
- props.setProperty("name-one", "value1.1");
- meta.setAll(props);
- assertEquals(1, meta.size());
- values = meta.getValues("name-one");
- assertEquals(1, values.length);
- assertEquals("value1.1", values[0]);
-
- props.setProperty("name-two", "value2.1");
- meta.setAll(props);
- assertEquals(2, meta.size());
- values = meta.getValues("name-one");
- assertEquals(1, values.length);
- assertEquals("value1.1", values[0]);
- values = meta.getValues("name-two");
- assertEquals(1, values.length);
- assertEquals("value2.1", values[0]);
- }
-
- /** Test for <code>get(String)</code> method. */
- public void testGet() {
- Metadata meta = new Metadata();
- assertNull(meta.get("a-name"));
- meta.add("a-name", "value-1");
- assertEquals("value-1", meta.get("a-name"));
- meta.add("a-name", "value-2");
- assertEquals("value-1", meta.get("a-name"));
- }
-
- /** Test for <code>isMultiValued()</code> method. */
- public void testIsMultiValued() {
- Metadata meta = new Metadata();
- assertFalse(meta.isMultiValued("key"));
- meta.add("key", "value1");
- assertFalse(meta.isMultiValued("key"));
- meta.add("key", "value2");
- assertTrue(meta.isMultiValued("key"));
- }
-
- /** Test for <code>names</code> method. */
- public void testNames() {
- String[] names = null;
- Metadata meta = new Metadata();
- names = meta.names();
- assertEquals(0, names.length);
-
- meta.add("name-one", "value");
- names = meta.names();
- assertEquals(1, names.length);
- assertEquals("name-one", names[0]);
- meta.add("name-two", "value");
- names = meta.names();
- assertEquals(2, names.length);
- }
-
- /** Test for <code>remove(String)</code> method. */
- public void testRemove() {
- Metadata meta = new Metadata();
- meta.remove("name-one");
- assertEquals(0, meta.size());
- meta.add("name-one", "value-1.1");
- meta.add("name-one", "value-1.2");
- meta.add("name-two", "value-2.2");
- assertEquals(2, meta.size());
- assertNotNull(meta.get("name-one"));
- assertNotNull(meta.get("name-two"));
- meta.remove("name-one");
- assertEquals(1, meta.size());
- assertNull(meta.get("name-one"));
- assertNotNull(meta.get("name-two"));
- meta.remove("name-two");
- assertEquals(0, meta.size());
- assertNull(meta.get("name-one"));
- assertNull(meta.get("name-two"));
- }
-
- /** Test for <code>equals(Object)</code> method. */
- public void testObject() {
- Metadata meta1 = new Metadata();
- Metadata meta2 = new Metadata();
- assertFalse(meta1.equals(null));
- assertFalse(meta1.equals("String"));
- assertTrue(meta1.equals(meta2));
- meta1.add("name-one", "value-1.1");
- assertFalse(meta1.equals(meta2));
- meta2.add("name-one", "value-1.1");
- assertTrue(meta1.equals(meta2));
- meta1.add("name-one", "value-1.2");
- assertFalse(meta1.equals(meta2));
- meta2.add("name-one", "value-1.2");
- assertTrue(meta1.equals(meta2));
- meta1.add("name-two", "value-2.1");
- assertFalse(meta1.equals(meta2));
- meta2.add("name-two", "value-2.1");
- assertTrue(meta1.equals(meta2));
- meta1.add("name-two", "value-2.2");
- assertFalse(meta1.equals(meta2));
- meta2.add("name-two", "value-2.x");
- assertFalse(meta1.equals(meta2));
- }
+ public TestMetadata(String testName) {
+ super(testName);
+ }
+
+ public static Test suite() {
+ return new TestSuite(TestMetadata.class);
+ }
+
+ public static void main(String[] args) {
+ TestRunner.run(suite());
+ }
+
+ /** Test for the <code>add(String, String)</code> method. */
+ public void testAdd() {
+ String[] values = null;
+ Metadata meta = new Metadata();
+
+ values = meta.getValues(CONTENTTYPE);
+ assertEquals(0, values.length);
+
+ meta.add(CONTENTTYPE, "value1");
+ values = meta.getValues(CONTENTTYPE);
+ assertEquals(1, values.length);
+ assertEquals("value1", values[0]);
+
+ meta.add(CONTENTTYPE, "value2");
+ values = meta.getValues(CONTENTTYPE);
+ assertEquals(2, values.length);
+ assertEquals("value1", values[0]);
+ assertEquals("value2", values[1]);
+
+ // NOTE : For now, the same value can be added many times.
+ // Should it be changed?
+ meta.add(CONTENTTYPE, "value1");
+ values = meta.getValues(CONTENTTYPE);
+ assertEquals(3, values.length);
+ assertEquals("value1", values[0]);
+ assertEquals("value2", values[1]);
+ assertEquals("value1", values[2]);
+ }
+
+ /** Test for the <code>set(String, String)</code> method. */
+ public void testSet() {
+ String[] values = null;
+ Metadata meta = new Metadata();
+
+ values = meta.getValues(CONTENTTYPE);
+ assertEquals(0, values.length);
+
+ meta.set(CONTENTTYPE, "value1");
+ values = meta.getValues(CONTENTTYPE);
+ assertEquals(1, values.length);
+ assertEquals("value1", values[0]);
+
+ meta.set(CONTENTTYPE, "value2");
+ values = meta.getValues(CONTENTTYPE);
+ assertEquals(1, values.length);
+ assertEquals("value2", values[0]);
+
+ meta.set(CONTENTTYPE, "new value 1");
+ meta.add("contenttype", "new value 2");
+ values = meta.getValues(CONTENTTYPE);
+ assertEquals(2, values.length);
+ assertEquals("new value 1", values[0]);
+ assertEquals("new value 2", values[1]);
+ }
+
+ /** Test for <code>setAll(Properties)</code> method. */
+ public void testSetProperties() {
+ String[] values = null;
+ Metadata meta = new Metadata();
+ Properties props = new Properties();
+
+ meta.setAll(props);
+ assertEquals(0, meta.size());
+
+ props.setProperty("name-one", "value1.1");
+ meta.setAll(props);
+ assertEquals(1, meta.size());
+ values = meta.getValues("name-one");
+ assertEquals(1, values.length);
+ assertEquals("value1.1", values[0]);
+
+ props.setProperty("name-two", "value2.1");
+ meta.setAll(props);
+ assertEquals(2, meta.size());
+ values = meta.getValues("name-one");
+ assertEquals(1, values.length);
+ assertEquals("value1.1", values[0]);
+ values = meta.getValues("name-two");
+ assertEquals(1, values.length);
+ assertEquals("value2.1", values[0]);
+ }
+
+ /** Test for <code>get(String)</code> method. */
+ public void testGet() {
+ Metadata meta = new Metadata();
+ assertNull(meta.get("a-name"));
+ meta.add("a-name", "value-1");
+ assertEquals("value-1", meta.get("a-name"));
+ meta.add("a-name", "value-2");
+ assertEquals("value-1", meta.get("a-name"));
+ }
+
+ /** Test for <code>isMultiValued()</code> method. */
+ public void testIsMultiValued() {
+ Metadata meta = new Metadata();
+ assertFalse(meta.isMultiValued("key"));
+ meta.add("key", "value1");
+ assertFalse(meta.isMultiValued("key"));
+ meta.add("key", "value2");
+ assertTrue(meta.isMultiValued("key"));
+ }
+
+ /** Test for <code>names</code> method. */
+ public void testNames() {
+ String[] names = null;
+ Metadata meta = new Metadata();
+ names = meta.names();
+ assertEquals(0, names.length);
+
+ meta.add("name-one", "value");
+ names = meta.names();
+ assertEquals(1, names.length);
+ assertEquals("name-one", names[0]);
+ meta.add("name-two", "value");
+ names = meta.names();
+ assertEquals(2, names.length);
+ }
+
+ /** Test for <code>remove(String)</code> method. */
+ public void testRemove() {
+ Metadata meta = new Metadata();
+ meta.remove("name-one");
+ assertEquals(0, meta.size());
+ meta.add("name-one", "value-1.1");
+ meta.add("name-one", "value-1.2");
+ meta.add("name-two", "value-2.2");
+ assertEquals(2, meta.size());
+ assertNotNull(meta.get("name-one"));
+ assertNotNull(meta.get("name-two"));
+ meta.remove("name-one");
+ assertEquals(1, meta.size());
+ assertNull(meta.get("name-one"));
+ assertNotNull(meta.get("name-two"));
+ meta.remove("name-two");
+ assertEquals(0, meta.size());
+ assertNull(meta.get("name-one"));
+ assertNull(meta.get("name-two"));
+ }
+
+ /** Test for <code>equals(Object)</code> method. */
+ public void testObject() {
+ Metadata meta1 = new Metadata();
+ Metadata meta2 = new Metadata();
+ assertFalse(meta1.equals(null));
+ assertFalse(meta1.equals("String"));
+ assertTrue(meta1.equals(meta2));
+ meta1.add("name-one", "value-1.1");
+ assertFalse(meta1.equals(meta2));
+ meta2.add("name-one", "value-1.1");
+ assertTrue(meta1.equals(meta2));
+ meta1.add("name-one", "value-1.2");
+ assertFalse(meta1.equals(meta2));
+ meta2.add("name-one", "value-1.2");
+ assertTrue(meta1.equals(meta2));
+ meta1.add("name-two", "value-2.1");
+ assertFalse(meta1.equals(meta2));
+ meta2.add("name-two", "value-2.1");
+ assertTrue(meta1.equals(meta2));
+ meta1.add("name-two", "value-2.2");
+ assertFalse(meta1.equals(meta2));
+ meta2.add("name-two", "value-2.x");
+ assertFalse(meta1.equals(meta2));
+ }
}
Modified:
incubator/tika/trunk/src/test/java/org/apache/tika/metadata/TestSpellCheckedMetadata.java
URL:
http://svn.apache.org/viewvc/incubator/tika/trunk/src/test/java/org/apache/tika/metadata/TestSpellCheckedMetadata.java?rev=585888&r1=585887&r2=585888&view=diff
==============================================================================
---
incubator/tika/trunk/src/test/java/org/apache/tika/metadata/TestSpellCheckedMetadata.java
(original)
+++
incubator/tika/trunk/src/test/java/org/apache/tika/metadata/TestSpellCheckedMetadata.java
Thu Oct 18 00:16:02 2007
@@ -16,10 +16,10 @@
*/
package org.apache.tika.metadata;
-// JDK imports
+//JDK imports
import java.util.Properties;
-// Junit imports
+//Junit imports
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
@@ -33,229 +33,229 @@
*/
public class TestSpellCheckedMetadata extends TestCase {
- private static final int NUM_ITERATIONS = 10000;
+ private static final int NUM_ITERATIONS = 10000;
- public TestSpellCheckedMetadata(String testName) {
- super(testName);
- }
-
- public static Test suite() {
- return new TestSuite(TestSpellCheckedMetadata.class);
- }
-
- public static void main(String[] args) {
- TestRunner.run(suite());
- }
-
- /** Test for the <code>getNormalizedName(String)</code> method. */
- public void testGetNormalizedName() {
- assertEquals("Content-Type", SpellCheckedMetadata
- .getNormalizedName("Content-Type"));
- assertEquals("Content-Type", SpellCheckedMetadata
- .getNormalizedName("ContentType"));
- assertEquals("Content-Type", SpellCheckedMetadata
- .getNormalizedName("Content-type"));
- assertEquals("Content-Type", SpellCheckedMetadata
- .getNormalizedName("contenttype"));
- assertEquals("Content-Type", SpellCheckedMetadata
- .getNormalizedName("contentype"));
- assertEquals("Content-Type", SpellCheckedMetadata
- .getNormalizedName("contntype"));
- }
-
- /** Test for the <code>add(String, String)</code> method. */
- public void testAdd() {
- String[] values = null;
- SpellCheckedMetadata meta = new SpellCheckedMetadata();
-
- values = meta.getValues("contentype");
- assertEquals(0, values.length);
-
- meta.add("contentype", "value1");
- values = meta.getValues("contentype");
- assertEquals(1, values.length);
- assertEquals("value1", values[0]);
-
- meta.add("Content-Type", "value2");
- values = meta.getValues("contentype");
- assertEquals(2, values.length);
- assertEquals("value1", values[0]);
- assertEquals("value2", values[1]);
-
- // NOTE : For now, the same value can be added many times.
- // Should it be changed?
- meta.add("ContentType", "value1");
- values = meta.getValues("Content-Type");
- assertEquals(3, values.length);
- assertEquals("value1", values[0]);
- assertEquals("value2", values[1]);
- assertEquals("value1", values[2]);
- }
-
- /** Test for the <code>set(String, String)</code> method. */
- public void testSet() {
- String[] values = null;
- SpellCheckedMetadata meta = new SpellCheckedMetadata();
-
- values = meta.getValues("contentype");
- assertEquals(0, values.length);
-
- meta.set("contentype", "value1");
- values = meta.getValues("contentype");
- assertEquals(1, values.length);
- assertEquals("value1", values[0]);
-
- meta.set("Content-Type", "value2");
- values = meta.getValues("contentype");
- assertEquals(1, values.length);
- assertEquals("value2", values[0]);
-
- meta.set("contenttype", "new value 1");
- meta.add("contenttype", "new value 2");
- values = meta.getValues("contentype");
- assertEquals(2, values.length);
- assertEquals("new value 1", values[0]);
- assertEquals("new value 2", values[1]);
- }
-
- /** Test for <code>setAll(Properties)</code> method. */
- public void testSetProperties() {
- String[] values = null;
- SpellCheckedMetadata meta = new SpellCheckedMetadata();
- Properties props = new Properties();
-
- meta.setAll(props);
- assertEquals(0, meta.size());
-
- props.setProperty("name-one", "value1.1");
- meta.setAll(props);
- assertEquals(1, meta.size());
- values = meta.getValues("name-one");
- assertEquals(1, values.length);
- assertEquals("value1.1", values[0]);
-
- props.setProperty("name-two", "value2.1");
- meta.setAll(props);
- assertEquals(2, meta.size());
- values = meta.getValues("name-one");
- assertEquals(1, values.length);
- assertEquals("value1.1", values[0]);
- values = meta.getValues("name-two");
- assertEquals(1, values.length);
- assertEquals("value2.1", values[0]);
- }
-
- /** Test for <code>get(String)</code> method. */
- public void testGet() {
- SpellCheckedMetadata meta = new SpellCheckedMetadata();
- assertNull(meta.get("a-name"));
-
- meta.add("a-name", "value-1");
- assertEquals("value-1", meta.get("a-name"));
- meta.add("a-name", "value-2");
- assertEquals("value-1", meta.get("a-name"));
- }
-
- /** Test for <code>isMultiValued()</code> method. */
- public void testIsMultiValued() {
- SpellCheckedMetadata meta = new SpellCheckedMetadata();
- assertFalse(meta.isMultiValued("key"));
- meta.add("key", "value1");
- assertFalse(meta.isMultiValued("key"));
- meta.add("key", "value2");
- assertTrue(meta.isMultiValued("key"));
- }
-
- /** Test for <code>names</code> method. */
- public void testNames() {
- String[] names = null;
- SpellCheckedMetadata meta = new SpellCheckedMetadata();
- names = meta.names();
- assertEquals(0, names.length);
-
- meta.add("name-one", "value");
- names = meta.names();
- assertEquals(1, names.length);
- assertEquals("name-one", names[0]);
- meta.add("name-two", "value");
- names = meta.names();
- assertEquals(2, names.length);
- }
-
- /** Test for <code>remove(String)</code> method. */
- public void testRemove() {
- SpellCheckedMetadata meta = new SpellCheckedMetadata();
- meta.remove("name-one");
- assertEquals(0, meta.size());
- meta.add("name-one", "value-1.1");
- meta.add("name-one", "value-1.2");
- meta.add("name-two", "value-2.2");
- assertEquals(2, meta.size());
- assertNotNull(meta.get("name-one"));
- assertNotNull(meta.get("name-two"));
- meta.remove("name-one");
- assertEquals(1, meta.size());
- assertNull(meta.get("name-one"));
- assertNotNull(meta.get("name-two"));
- meta.remove("name-two");
- assertEquals(0, meta.size());
- assertNull(meta.get("name-one"));
- assertNull(meta.get("name-two"));
- }
-
- /** Test for <code>equals(Object)</code> method. */
- public void testObject() {
- SpellCheckedMetadata meta1 = new SpellCheckedMetadata();
- SpellCheckedMetadata meta2 = new SpellCheckedMetadata();
- assertFalse(meta1.equals(null));
- assertFalse(meta1.equals("String"));
- assertTrue(meta1.equals(meta2));
- meta1.add("name-one", "value-1.1");
- assertFalse(meta1.equals(meta2));
- meta2.add("name-one", "value-1.1");
- assertTrue(meta1.equals(meta2));
- meta1.add("name-one", "value-1.2");
- assertFalse(meta1.equals(meta2));
- meta2.add("name-one", "value-1.2");
- assertTrue(meta1.equals(meta2));
- meta1.add("name-two", "value-2.1");
- assertFalse(meta1.equals(meta2));
- meta2.add("name-two", "value-2.1");
- assertTrue(meta1.equals(meta2));
- meta1.add("name-two", "value-2.2");
- assertFalse(meta1.equals(meta2));
- meta2.add("name-two", "value-2.x");
- assertFalse(meta1.equals(meta2));
- }
-
- /**
- * IO Test method, usable only when you plan to do changes in metadata to
- * measure relative performance impact.
- */
- public final void testHandlingSpeed() {
- SpellCheckedMetadata result;
- long start = System.currentTimeMillis();
- for (int i = 0; i < NUM_ITERATIONS; i++) {
- SpellCheckedMetadata scmd = constructSpellCheckedMetadata();
- }
- System.out.println(NUM_ITERATIONS + " spellchecked metadata I/O time:"
- + (System.currentTimeMillis() - start) + "ms.");
- }
-
- /**
- * Assembles a Spellchecked metadata Object.
- */
- public static final SpellCheckedMetadata constructSpellCheckedMetadata() {
- SpellCheckedMetadata scmd = new SpellCheckedMetadata();
- scmd.add("Content-type", "foo/bar");
- scmd.add("Connection", "close");
- scmd.add("Last-Modified", "Sat, 09 Dec 2006 15:09:57 GMT");
- scmd.add("Server", "Foobar");
- scmd.add("Date", "Sat, 09 Dec 2006 18:07:20 GMT");
- scmd.add("Accept-Ranges", "bytes");
- scmd.add("ETag", "\"1234567-89-01234567\"");
- scmd.add("Content-Length", "123");
- return scmd;
- }
+ public TestSpellCheckedMetadata(String testName) {
+ super(testName);
+ }
+
+ public static Test suite() {
+ return new TestSuite(TestSpellCheckedMetadata.class);
+ }
+
+ public static void main(String[] args) {
+ TestRunner.run(suite());
+ }
+
+ /** Test for the <code>getNormalizedName(String)</code> method. */
+ public void testGetNormalizedName() {
+ assertEquals("Content-Type", SpellCheckedMetadata
+ .getNormalizedName("Content-Type"));
+ assertEquals("Content-Type", SpellCheckedMetadata
+ .getNormalizedName("ContentType"));
+ assertEquals("Content-Type", SpellCheckedMetadata
+ .getNormalizedName("Content-type"));
+ assertEquals("Content-Type", SpellCheckedMetadata
+ .getNormalizedName("contenttype"));
+ assertEquals("Content-Type", SpellCheckedMetadata
+ .getNormalizedName("contentype"));
+ assertEquals("Content-Type", SpellCheckedMetadata
+ .getNormalizedName("contntype"));
+ }
+
+ /** Test for the <code>add(String, String)</code> method. */
+ public void testAdd() {
+ String[] values = null;
+ SpellCheckedMetadata meta = new SpellCheckedMetadata();
+
+ values = meta.getValues("contentype");
+ assertEquals(0, values.length);
+
+ meta.add("contentype", "value1");
+ values = meta.getValues("contentype");
+ assertEquals(1, values.length);
+ assertEquals("value1", values[0]);
+
+ meta.add("Content-Type", "value2");
+ values = meta.getValues("contentype");
+ assertEquals(2, values.length);
+ assertEquals("value1", values[0]);
+ assertEquals("value2", values[1]);
+
+ // NOTE : For now, the same value can be added many times.
+ // Should it be changed?
+ meta.add("ContentType", "value1");
+ values = meta.getValues("Content-Type");
+ assertEquals(3, values.length);
+ assertEquals("value1", values[0]);
+ assertEquals("value2", values[1]);
+ assertEquals("value1", values[2]);
+ }
+
+ /** Test for the <code>set(String, String)</code> method. */
+ public void testSet() {
+ String[] values = null;
+ SpellCheckedMetadata meta = new SpellCheckedMetadata();
+
+ values = meta.getValues("contentype");
+ assertEquals(0, values.length);
+
+ meta.set("contentype", "value1");
+ values = meta.getValues("contentype");
+ assertEquals(1, values.length);
+ assertEquals("value1", values[0]);
+
+ meta.set("Content-Type", "value2");
+ values = meta.getValues("contentype");
+ assertEquals(1, values.length);
+ assertEquals("value2", values[0]);
+
+ meta.set("contenttype", "new value 1");
+ meta.add("contenttype", "new value 2");
+ values = meta.getValues("contentype");
+ assertEquals(2, values.length);
+ assertEquals("new value 1", values[0]);
+ assertEquals("new value 2", values[1]);
+ }
+
+ /** Test for <code>setAll(Properties)</code> method. */
+ public void testSetProperties() {
+ String[] values = null;
+ SpellCheckedMetadata meta = new SpellCheckedMetadata();
+ Properties props = new Properties();
+
+ meta.setAll(props);
+ assertEquals(0, meta.size());
+
+ props.setProperty("name-one", "value1.1");
+ meta.setAll(props);
+ assertEquals(1, meta.size());
+ values = meta.getValues("name-one");
+ assertEquals(1, values.length);
+ assertEquals("value1.1", values[0]);
+
+ props.setProperty("name-two", "value2.1");
+ meta.setAll(props);
+ assertEquals(2, meta.size());
+ values = meta.getValues("name-one");
+ assertEquals(1, values.length);
+ assertEquals("value1.1", values[0]);
+ values = meta.getValues("name-two");
+ assertEquals(1, values.length);
+ assertEquals("value2.1", values[0]);
+ }
+
+ /** Test for <code>get(String)</code> method. */
+ public void testGet() {
+ SpellCheckedMetadata meta = new SpellCheckedMetadata();
+ assertNull(meta.get("a-name"));
+
+ meta.add("a-name", "value-1");
+ assertEquals("value-1", meta.get("a-name"));
+ meta.add("a-name", "value-2");
+ assertEquals("value-1", meta.get("a-name"));
+ }
+
+ /** Test for <code>isMultiValued()</code> method. */
+ public void testIsMultiValued() {
+ SpellCheckedMetadata meta = new SpellCheckedMetadata();
+ assertFalse(meta.isMultiValued("key"));
+ meta.add("key", "value1");
+ assertFalse(meta.isMultiValued("key"));
+ meta.add("key", "value2");
+ assertTrue(meta.isMultiValued("key"));
+ }
+
+ /** Test for <code>names</code> method. */
+ public void testNames() {
+ String[] names = null;
+ SpellCheckedMetadata meta = new SpellCheckedMetadata();
+ names = meta.names();
+ assertEquals(0, names.length);
+
+ meta.add("name-one", "value");
+ names = meta.names();
+ assertEquals(1, names.length);
+ assertEquals("name-one", names[0]);
+ meta.add("name-two", "value");
+ names = meta.names();
+ assertEquals(2, names.length);
+ }
+
+ /** Test for <code>remove(String)</code> method. */
+ public void testRemove() {
+ SpellCheckedMetadata meta = new SpellCheckedMetadata();
+ meta.remove("name-one");
+ assertEquals(0, meta.size());
+ meta.add("name-one", "value-1.1");
+ meta.add("name-one", "value-1.2");
+ meta.add("name-two", "value-2.2");
+ assertEquals(2, meta.size());
+ assertNotNull(meta.get("name-one"));
+ assertNotNull(meta.get("name-two"));
+ meta.remove("name-one");
+ assertEquals(1, meta.size());
+ assertNull(meta.get("name-one"));
+ assertNotNull(meta.get("name-two"));
+ meta.remove("name-two");
+ assertEquals(0, meta.size());
+ assertNull(meta.get("name-one"));
+ assertNull(meta.get("name-two"));
+ }
+
+ /** Test for <code>equals(Object)</code> method. */
+ public void testObject() {
+ SpellCheckedMetadata meta1 = new SpellCheckedMetadata();
+ SpellCheckedMetadata meta2 = new SpellCheckedMetadata();
+ assertFalse(meta1.equals(null));
+ assertFalse(meta1.equals("String"));
+ assertTrue(meta1.equals(meta2));
+ meta1.add("name-one", "value-1.1");
+ assertFalse(meta1.equals(meta2));
+ meta2.add("name-one", "value-1.1");
+ assertTrue(meta1.equals(meta2));
+ meta1.add("name-one", "value-1.2");
+ assertFalse(meta1.equals(meta2));
+ meta2.add("name-one", "value-1.2");
+ assertTrue(meta1.equals(meta2));
+ meta1.add("name-two", "value-2.1");
+ assertFalse(meta1.equals(meta2));
+ meta2.add("name-two", "value-2.1");
+ assertTrue(meta1.equals(meta2));
+ meta1.add("name-two", "value-2.2");
+ assertFalse(meta1.equals(meta2));
+ meta2.add("name-two", "value-2.x");
+ assertFalse(meta1.equals(meta2));
+ }
+
+ /**
+ * IO Test method, usable only when you plan to do changes in metadata to
+ * measure relative performance impact.
+ */
+ public final void testHandlingSpeed() {
+ SpellCheckedMetadata result;
+ long start = System.currentTimeMillis();
+ for (int i = 0; i < NUM_ITERATIONS; i++) {
+ SpellCheckedMetadata scmd = constructSpellCheckedMetadata();
+ }
+ System.out.println(NUM_ITERATIONS + " spellchecked metadata I/O time:"
+ + (System.currentTimeMillis() - start) + "ms.");
+ }
+
+ /**
+ * Assembles a Spellchecked metadata Object.
+ */
+ public static final SpellCheckedMetadata constructSpellCheckedMetadata() {
+ SpellCheckedMetadata scmd = new SpellCheckedMetadata();
+ scmd.add("Content-type", "foo/bar");
+ scmd.add("Connection", "close");
+ scmd.add("Last-Modified", "Sat, 09 Dec 2006 15:09:57 GMT");
+ scmd.add("Server", "Foobar");
+ scmd.add("Date", "Sat, 09 Dec 2006 18:07:20 GMT");
+ scmd.add("Accept-Ranges", "bytes");
+ scmd.add("ETag", "\"1234567-89-01234567\"");
+ scmd.add("Content-Length", "123");
+ return scmd;
+ }
}