@Override protected StringEncoder createStringEncoder() { return new BeiderMorseEncoder(); }
@Test(expected = IllegalArgumentException.class) public void testSetRuleTypeToRulesIllegalArgumentException() { final BeiderMorseEncoder bmpm = new BeiderMorseEncoder(); bmpm.setRuleType(RuleType.RULES); }
private BeiderMorseEncoder createGenericApproxEncoder() { final BeiderMorseEncoder encoder = new BeiderMorseEncoder(); encoder.setNameType(NameType.GENERIC); encoder.setRuleType(RuleType.APPROX); return encoder; }
@Test public void testSetRuleTypeExact() { final BeiderMorseEncoder bmpm = new BeiderMorseEncoder(); bmpm.setRuleType(RuleType.EXACT); assertEquals("Rule type should have been set to exact", RuleType.EXACT, bmpm.getRuleType()); }
@Test public void testSetConcat() { final BeiderMorseEncoder bmpm = new BeiderMorseEncoder(); bmpm.setConcat(false); assertFalse("Should be able to set concat to false", bmpm.isConcat()); }
@Test public void testSetNameTypeAsh() { final BeiderMorseEncoder bmpm = new BeiderMorseEncoder(); bmpm.setNameType(NameType.ASHKENAZI); assertEquals("Name type should have been set to ash", NameType.ASHKENAZI, bmpm.getNameType()); }
@Test public void testOOM() throws EncoderException { final String phrase = "200697900'-->�</ bceaeef >aadaabcf\"aedfbff<!--\'-->?>cae" + "cfaaa><?&#<!--</script>&lang&fc;aadeaf?>>&bdquo< cc =\"abff\" /></ afe >" + "<script><!-- f(';< cf aefbeef = \"bfabadcf\" ebbfeedd = fccabeb >"; final BeiderMorseEncoder encoder = new BeiderMorseEncoder(); encoder.setNameType(NameType.GENERIC); encoder.setRuleType(RuleType.EXACT); encoder.setMaxPhonemes(10); final String phonemes = encoder.encode(phrase); assertTrue(phonemes.length() > 0); final String[] phonemeArr = phonemes.split("\\|"); assertTrue(phonemeArr.length <= 10); }