public void testFactory() { Map<String, String> args = new HashMap<String, String>(); PhoneticFilterFactory ff = new PhoneticFilterFactory(); try { ff.init(args); fail("missing encoder parameter"); } catch (Exception ex) { } args.put(PhoneticFilterFactory.ENCODER, "XXX"); try { ff.init(args); fail("unknown encoder parameter"); } catch (Exception ex) { } args.put(PhoneticFilterFactory.ENCODER, "Metaphone"); ff.init(args); assertTrue(ff.encoder instanceof Metaphone); assertTrue(ff.inject); // default args.put(PhoneticFilterFactory.INJECT, "false"); ff.init(args); assertFalse(ff.inject); }
static void assertAlgorithm(String algName, String inject, String input, String[] expected) throws Exception { Tokenizer tokenizer = new WhitespaceTokenizer(DEFAULT_VERSION, new StringReader(input)); Map<String, String> args = new HashMap<String, String>(); args.put("encoder", algName); args.put("inject", inject); PhoneticFilterFactory factory = new PhoneticFilterFactory(); factory.init(args); TokenStream stream = factory.create(tokenizer); assertTokenStreamContents(stream, expected); }