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)]);