@@ -38,16 +38,34 @@ private void assertNotEmpty(BeiderMorseEncoder bmpm, final String value) throws
3838 Assert .assertFalse (value , bmpm .encode (value ).equals ("" ));
3939 }
4040
41+ private BeiderMorseEncoder createGenericApproxEncoder () {
42+ BeiderMorseEncoder encoder = new BeiderMorseEncoder ();
43+ encoder .setNameType (NameType .GENERIC );
44+ encoder .setRuleType (RuleType .APPROX );
45+ return encoder ;
46+ }
47+
4148 @ Override
4249 protected StringEncoder createStringEncoder () {
4350 return new BeiderMorseEncoder ();
4451 }
4552
53+ /**
54+ * Tests we do not blow up.
55+ *
56+ * @throws EncoderException
57+ */
58+ @ Test
59+ public void testAllChars () throws EncoderException {
60+ BeiderMorseEncoder bmpm = createGenericApproxEncoder ();
61+ for (char c = Character .MIN_VALUE ; c < Character .MAX_VALUE ; c ++) {
62+ bmpm .encode ("" + c );
63+ }
64+ }
65+
4666 @ Test
4767 public void testAsciiEncodeNotEmpty1Letter () throws EncoderException {
48- BeiderMorseEncoder bmpm = new BeiderMorseEncoder ();
49- bmpm .setNameType (NameType .GENERIC );
50- bmpm .setRuleType (RuleType .APPROX );
68+ BeiderMorseEncoder bmpm = createGenericApproxEncoder ();
5169 for (char c = 'a' ; c <= 'z' ; c ++) {
5270 final String value = "" + c ;
5371 final String valueU = value .toUpperCase ();
@@ -58,9 +76,7 @@ public void testAsciiEncodeNotEmpty1Letter() throws EncoderException {
5876
5977 @ Test
6078 public void testAsciiEncodeNotEmpty2Letters () throws EncoderException {
61- BeiderMorseEncoder bmpm = new BeiderMorseEncoder ();
62- bmpm .setNameType (NameType .GENERIC );
63- bmpm .setRuleType (RuleType .APPROX );
79+ BeiderMorseEncoder bmpm = createGenericApproxEncoder ();
6480 for (char c1 = 'a' ; c1 <= 'z' ; c1 ++) {
6581 for (char c2 = 'a' ; c2 <= 'z' ; c2 ++) {
6682 final String value = new String (new char [] { c1 , c2 });
@@ -73,9 +89,7 @@ public void testAsciiEncodeNotEmpty2Letters() throws EncoderException {
7389
7490 @ Test
7591 public void testEncodeAtzNotEmpty () throws EncoderException {
76- BeiderMorseEncoder bmpm = new BeiderMorseEncoder ();
77- bmpm .setNameType (NameType .GENERIC );
78- bmpm .setRuleType (RuleType .APPROX );
92+ BeiderMorseEncoder bmpm = createGenericApproxEncoder ();
7993 String [] names = { "ácz" , "átz" , "Ignácz" , "Ignátz" , "Ignác" };
8094 for (String name : names ) {
8195 assertNotEmpty (bmpm , name );
@@ -90,9 +104,7 @@ public void testEncodeAtzNotEmpty() throws EncoderException {
90104 */
91105 @ Test
92106 public void testEncodeGna () throws EncoderException {
93- BeiderMorseEncoder bmpm = new BeiderMorseEncoder ();
94- bmpm .setNameType (NameType .GENERIC );
95- bmpm .setRuleType (RuleType .APPROX );
107+ BeiderMorseEncoder bmpm = createGenericApproxEncoder ();
96108 bmpm .encode ("gna" );
97109 }
98110
@@ -113,9 +125,7 @@ public void testInvalidLanguageIllegalArgumentException() {
113125
114126 @ Test (timeout = 10000L )
115127 public void testLongestEnglishSurname () throws EncoderException {
116- BeiderMorseEncoder bmpm = new BeiderMorseEncoder ();
117- bmpm .setNameType (NameType .GENERIC );
118- bmpm .setRuleType (RuleType .APPROX );
128+ BeiderMorseEncoder bmpm = createGenericApproxEncoder ();
119129 bmpm .encode ("MacGhilleseatheanaich" );
120130 }
121131
@@ -155,9 +165,7 @@ public void testSetRuleTypeToRulesIllegalArgumentException() {
155165 @ Test (timeout = 20000L )
156166 public void testSpeedCheck () throws EncoderException {
157167 char [] chars = new char [] { 'a' , 'b' , 'c' , 'd' , 'e' , 'f' , 'g' , 'h' , 'o' , 'u' };
158- BeiderMorseEncoder bmpm = new BeiderMorseEncoder ();
159- bmpm .setNameType (NameType .GENERIC );
160- bmpm .setRuleType (RuleType .APPROX );
168+ BeiderMorseEncoder bmpm = createGenericApproxEncoder ();
161169 StringBuffer stringBuffer = new StringBuffer ();
162170 Random rand = new Random ();
163171 stringBuffer .append (chars [rand .nextInt (chars .length )]);
0 commit comments