Author: ggregory
Date: Fri Aug  5 15:48:13 2011
New Revision: 1154276

URL: http://svn.apache.org/viewvc?rev=1154276&view=rev
Log:
Bullet-proofing: Tests we do not blow up for any char input.

Modified:
    
commons/proper/codec/trunk/src/test/org/apache/commons/codec/language/bm/BeiderMorseEncoderTest.java

Modified: 
commons/proper/codec/trunk/src/test/org/apache/commons/codec/language/bm/BeiderMorseEncoderTest.java
URL: 
http://svn.apache.org/viewvc/commons/proper/codec/trunk/src/test/org/apache/commons/codec/language/bm/BeiderMorseEncoderTest.java?rev=1154276&r1=1154275&r2=1154276&view=diff
==============================================================================
--- 
commons/proper/codec/trunk/src/test/org/apache/commons/codec/language/bm/BeiderMorseEncoderTest.java
 (original)
+++ 
commons/proper/codec/trunk/src/test/org/apache/commons/codec/language/bm/BeiderMorseEncoderTest.java
 Fri Aug  5 15:48:13 2011
@@ -38,16 +38,34 @@ public class BeiderMorseEncoderTest exte
         Assert.assertFalse(value, bmpm.encode(value).equals(""));
     }
 
+    private BeiderMorseEncoder createGenericApproxEncoder() {
+        BeiderMorseEncoder encoder = new BeiderMorseEncoder();
+        encoder.setNameType(NameType.GENERIC);
+        encoder.setRuleType(RuleType.APPROX);
+        return encoder;
+    }
+
     @Override
     protected StringEncoder createStringEncoder() {
         return new BeiderMorseEncoder();
     }
 
+    /**
+     * Tests we do not blow up.
+     * 
+     * @throws EncoderException
+     */
+    @Test
+    public void testAllChars() throws EncoderException {
+        BeiderMorseEncoder bmpm = createGenericApproxEncoder();
+        for (char c = Character.MIN_VALUE; c < Character.MAX_VALUE; c++) {
+            bmpm.encode("" + c);
+        }
+    }
+
     @Test
     public void testAsciiEncodeNotEmpty1Letter() throws EncoderException {
-        BeiderMorseEncoder bmpm = new BeiderMorseEncoder();
-        bmpm.setNameType(NameType.GENERIC);
-        bmpm.setRuleType(RuleType.APPROX);
+        BeiderMorseEncoder bmpm = createGenericApproxEncoder();
         for (char c = 'a'; c <= 'z'; c++) {
             final String value = "" + c;
             final String valueU = value.toUpperCase();
@@ -58,9 +76,7 @@ public class BeiderMorseEncoderTest exte
 
     @Test
     public void testAsciiEncodeNotEmpty2Letters() throws EncoderException {
-        BeiderMorseEncoder bmpm = new BeiderMorseEncoder();
-        bmpm.setNameType(NameType.GENERIC);
-        bmpm.setRuleType(RuleType.APPROX);
+        BeiderMorseEncoder bmpm = createGenericApproxEncoder();
         for (char c1 = 'a'; c1 <= 'z'; c1++) {
             for (char c2 = 'a'; c2 <= 'z'; c2++) {
                 final String value = new String(new char[] { c1, c2 });
@@ -73,9 +89,7 @@ public class BeiderMorseEncoderTest exte
 
     @Test
     public void testEncodeAtzNotEmpty() throws EncoderException {
-        BeiderMorseEncoder bmpm = new BeiderMorseEncoder();
-        bmpm.setNameType(NameType.GENERIC);
-        bmpm.setRuleType(RuleType.APPROX);
+        BeiderMorseEncoder bmpm = createGenericApproxEncoder();
         String[] names = { "ácz", "átz", "Ignácz", "Ignátz", "Ignác" };
         for (String name : names) {
             assertNotEmpty(bmpm, name);
@@ -90,9 +104,7 @@ public class BeiderMorseEncoderTest exte
      */
     @Test
     public void testEncodeGna() throws EncoderException {
-        BeiderMorseEncoder bmpm = new BeiderMorseEncoder();
-        bmpm.setNameType(NameType.GENERIC);
-        bmpm.setRuleType(RuleType.APPROX);
+        BeiderMorseEncoder bmpm = createGenericApproxEncoder();
         bmpm.encode("gna");
     }
 
@@ -113,9 +125,7 @@ public class BeiderMorseEncoderTest exte
 
     @Test(timeout = 10000L)
     public void testLongestEnglishSurname() throws EncoderException {
-        BeiderMorseEncoder bmpm = new BeiderMorseEncoder();
-        bmpm.setNameType(NameType.GENERIC);
-        bmpm.setRuleType(RuleType.APPROX);
+        BeiderMorseEncoder bmpm = createGenericApproxEncoder();
         bmpm.encode("MacGhilleseatheanaich");
     }
 
@@ -155,9 +165,7 @@ public class BeiderMorseEncoderTest exte
     @Test(timeout = 20000L)
     public void testSpeedCheck() throws EncoderException {
         char[] chars = new char[] { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 
'o', 'u' };
-        BeiderMorseEncoder bmpm = new BeiderMorseEncoder();
-        bmpm.setNameType(NameType.GENERIC);
-        bmpm.setRuleType(RuleType.APPROX);
+        BeiderMorseEncoder bmpm = createGenericApproxEncoder();
         StringBuffer stringBuffer = new StringBuffer();
         Random rand = new Random();
         stringBuffer.append(chars[rand.nextInt(chars.length)]);


Reply via email to