Index: src/test/org/apache/commons/codec/AllTests.java
===================================================================
--- src/test/org/apache/commons/codec/AllTests.java	(revision 0)
+++ src/test/org/apache/commons/codec/AllTests.java	(revision 0)
@@ -0,0 +1,45 @@
+package org.apache.commons.codec;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+
+import org.apache.commons.codec.BinaryEncoderAbstractTest;
+import org.apache.commons.codec.StringEncoderAbstractTest;
+import org.apache.commons.codec.StringEncoderComparatorTest;
+import org.apache.commons.codec.binary.Base64Test;
+import org.apache.commons.codec.binary.BinaryCodecTest;
+import org.apache.commons.codec.binary.HexTest;
+import org.apache.commons.codec.digest.DigestUtilsTest;
+import org.apache.commons.codec.language.DoubleMetaphoneTest;
+import org.apache.commons.codec.language.MetaphoneTest;
+import org.apache.commons.codec.language.RefinedSoundexTest;
+import org.apache.commons.codec.language.SoundexTest;
+import org.apache.commons.codec.net.BCodecTest;
+import org.apache.commons.codec.net.QCodecTest;
+import org.apache.commons.codec.net.QuotedPrintableCodecTest;
+import org.apache.commons.codec.net.RFC1522CodecTest;
+import org.apache.commons.codec.net.URLCodecTest;
+
+@RunWith(Suite.class)
+@Suite.SuiteClasses( {
+
+		//BinaryEncoderAbstractTest.class,
+		//StringEncoderAbstractTest.class,
+		StringEncoderComparatorTest.class,
+
+		Base64Test.class, 
+		BinaryCodecTest.class, 
+		HexTest.class,
+
+		DigestUtilsTest.class,
+
+		DoubleMetaphoneTest.class, MetaphoneTest.class,
+		RefinedSoundexTest.class, SoundexTest.class,
+
+		BCodecTest.class, QCodecTest.class, QuotedPrintableCodecTest.class,
+		RFC1522CodecTest.class, URLCodecTest.class,
+
+})
+public class AllTests {
+
+}
Index: src/test/org/apache/commons/codec/language/RefinedSoundexTest.java
===================================================================
--- src/test/org/apache/commons/codec/language/RefinedSoundexTest.java	(revision 20)
+++ src/test/org/apache/commons/codec/language/RefinedSoundexTest.java	(working copy)
@@ -22,7 +22,7 @@
 
 import org.apache.commons.codec.EncoderException;
 import org.apache.commons.codec.StringEncoder;
-import org.apache.commons.codec.StringEncoderAbstractTest;
+import junit.framework.TestCase;
 
 /**
  * Tests RefinedSoundex.
@@ -30,7 +30,7 @@
  * @author Apache Software Foundation
  * @version $Id: RefinedSoundexTest.java 480406 2006-11-29 04:56:58Z bayard $
  */
-public class RefinedSoundexTest extends StringEncoderAbstractTest {
+public class RefinedSoundexTest extends TestCase {
 
     public static Test suite() {
         return new TestSuite(RefinedSoundexTest.class);
@@ -110,4 +110,35 @@
 		char code = this.getEncoder().getMappingCode('#');
 		assertEquals("Code does not equals zero", 0, code);
 	}
+	
+	public void testEncodeEmpty() throws Exception {
+        Encoder encoder = makeEncoder();
+        encoder.encode("");
+        encoder.encode(" ");
+        encoder.encode("\t");
+    }        
+
+    public void testEncodeNull() throws Exception {
+        StringEncoder encoder = makeEncoder();
+	
+	try {
+	    encoder.encode(null);
+	} catch( EncoderException ee ) {
+	    // An exception should be thrown
+	}
+    }        
+
+    public void testEncodeWithInvalidObject() throws Exception {
+
+        boolean exceptionThrown = false;
+        try {
+            StringEncoder encoder = makeEncoder();
+            encoder.encode( new Float( 3.4 ) );
+        } catch( Exception e ) {
+            exceptionThrown = true;
+        }
+
+        assertTrue( "An exception was not thrown when we tried to encode " +
+                    "a Float object", exceptionThrown );
+    }
 }
\ No newline at end of file
Index: src/test/org/apache/commons/codec/language/SoundexTest.java
===================================================================
--- src/test/org/apache/commons/codec/language/SoundexTest.java	(revision 20)
+++ src/test/org/apache/commons/codec/language/SoundexTest.java	(working copy)
@@ -23,7 +23,7 @@
 
 import org.apache.commons.codec.EncoderException;
 import org.apache.commons.codec.StringEncoder;
-import org.apache.commons.codec.StringEncoderAbstractTest;
+import junit.framework.TestCase;
 
 /**
  * Tests {@link Soundex}
@@ -31,7 +31,7 @@
  * @author Apache Software Foundation
  * @version $Id: SoundexTest.java 480406 2006-11-29 04:56:58Z bayard $
  */
-public class SoundexTest extends StringEncoderAbstractTest {
+public class SoundexTest extends TestCase {
 
     public static Test suite() {
         return new TestSuite(SoundexTest.class);
@@ -388,4 +388,35 @@
     {
         assertEquals( new Soundex().soundex( "Williams" ), "W452" );
     }
+    
+    public void testEncodeEmpty() throws Exception {
+        Encoder encoder = makeEncoder();
+        encoder.encode("");
+        encoder.encode(" ");
+        encoder.encode("\t");
+    }        
+
+    public void testEncodeNull() throws Exception {
+        StringEncoder encoder = makeEncoder();
+	
+	try {
+	    encoder.encode(null);
+	} catch( EncoderException ee ) {
+	    // An exception should be thrown
+	}
+    }        
+
+    public void testEncodeWithInvalidObject() throws Exception {
+
+        boolean exceptionThrown = false;
+        try {
+            StringEncoder encoder = makeEncoder();
+            encoder.encode( new Float( 3.4 ) );
+        } catch( Exception e ) {
+            exceptionThrown = true;
+        }
+
+        assertTrue( "An exception was not thrown when we tried to encode " +
+                    "a Float object", exceptionThrown );
+    }
 }
Index: src/test/org/apache/commons/codec/language/DoubleMetaphoneTest.java
===================================================================
--- src/test/org/apache/commons/codec/language/DoubleMetaphoneTest.java	(revision 20)
+++ src/test/org/apache/commons/codec/language/DoubleMetaphoneTest.java	(working copy)
@@ -22,7 +22,7 @@
 
 import org.apache.commons.codec.EncoderException;
 import org.apache.commons.codec.StringEncoder;
-import org.apache.commons.codec.StringEncoderAbstractTest;
+import junit.framework.TestCase;
 
 /**
  * Tests {@link DoubleMetaphone}.
@@ -31,7 +31,7 @@
  * @author Apache Software Foundation
  * @version $Id: DoubleMetaphoneTest.java 480406 2006-11-29 04:56:58Z bayard $
  */
-public class DoubleMetaphoneTest extends StringEncoderAbstractTest {
+public class DoubleMetaphoneTest extends TestCase {
 
     /**
 	 * Test data from http://aspell.sourceforge.net/test/batch0.tab.
@@ -1219,4 +1219,35 @@
             }
         }
     }
+    
+    public void testEncodeEmpty() throws Exception {
+        Encoder encoder = makeEncoder();
+        encoder.encode("");
+        encoder.encode(" ");
+        encoder.encode("\t");
+    }        
+
+    public void testEncodeNull() throws Exception {
+        StringEncoder encoder = makeEncoder();
+	
+	try {
+	    encoder.encode(null);
+	} catch( EncoderException ee ) {
+	    // An exception should be thrown
+	}
+    }        
+
+    public void testEncodeWithInvalidObject() throws Exception {
+
+        boolean exceptionThrown = false;
+        try {
+            StringEncoder encoder = makeEncoder();
+            encoder.encode( new Float( 3.4 ) );
+        } catch( Exception e ) {
+            exceptionThrown = true;
+        }
+
+        assertTrue( "An exception was not thrown when we tried to encode " +
+                    "a Float object", exceptionThrown );
+    }
 }
Index: src/test/org/apache/commons/codec/language/MetaphoneTest.java
===================================================================
--- src/test/org/apache/commons/codec/language/MetaphoneTest.java	(revision 20)
+++ src/test/org/apache/commons/codec/language/MetaphoneTest.java	(working copy)
@@ -21,13 +21,13 @@
 import junit.framework.TestSuite;
 
 import org.apache.commons.codec.StringEncoder;
-import org.apache.commons.codec.StringEncoderAbstractTest;
+import junit.framework.TestCase;
 
 /**
  * @author Apache Software Foundation
  * @version $Id: MetaphoneTest.java 480406 2006-11-29 04:56:58Z bayard $
  */
-public class MetaphoneTest extends StringEncoderAbstractTest {
+public class MetaphoneTest extends TestCase {
 
     public static Test suite() {
         return new TestSuite(MetaphoneTest.class);
@@ -472,4 +472,34 @@
         }
     }
 
+    public void testEncodeEmpty() throws Exception {
+        Encoder encoder = makeEncoder();
+        encoder.encode("");
+        encoder.encode(" ");
+        encoder.encode("\t");
+    }        
+
+    public void testEncodeNull() throws Exception {
+        StringEncoder encoder = makeEncoder();
+	
+	try {
+	    encoder.encode(null);
+	} catch( EncoderException ee ) {
+	    // An exception should be thrown
+	}
+    }        
+
+    public void testEncodeWithInvalidObject() throws Exception {
+
+        boolean exceptionThrown = false;
+        try {
+            StringEncoder encoder = makeEncoder();
+            encoder.encode( new Float( 3.4 ) );
+        } catch( Exception e ) {
+            exceptionThrown = true;
+        }
+
+        assertTrue( "An exception was not thrown when we tried to encode " +
+                    "a Float object", exceptionThrown );
+    }
 }
