public void TestBogusArguments() { try { new JapanesePartOfSpeechStopFilterFactory(new Dictionary <String, String>() { { "luceneMatchVersion", TEST_VERSION_CURRENT.toString() }, { "bogusArg", "bogusValue" } }); fail(); } catch (ArgumentException expected) { assertTrue(expected.Message.Contains("Unknown parameters")); } }
private TokenFilterFactory tokenFilterFactory(String name, params String[] keysAndValues) { Type clazz = TokenFilterFactory.LookupClass(name); if (keysAndValues.Length % 2 == 1) { throw new ArgumentException("invalid keysAndValues map"); } IDictionary <String, String> args = new Dictionary <String, String>(); for (int i = 0; i < keysAndValues.Length; i += 2) { String prev = args.Put(keysAndValues[i], keysAndValues[i + 1]); assertNull("duplicate values for key: " + keysAndValues[i], prev); } String previous = args.Put("luceneMatchVersion", TEST_VERSION_CURRENT.toString()); assertNull("duplicate values for key: luceneMatchVersion", previous); TokenFilterFactory factory = null; try { //factory = clazz.getConstructor(Map.class).newInstance(args); factory = (TokenFilterFactory)Activator.CreateInstance(clazz, args); } catch (TargetInvocationException e) { // to simplify tests that check for illegal parameters if (e.InnerException is ArgumentException) { throw (ArgumentException)e.InnerException; } else { throw e; } } if (factory is IResourceLoaderAware) { ((IResourceLoaderAware)factory).Inform(new ClasspathResourceLoader(GetType())); } return(factory); }
public void TestBasics() { String tags = "# verb-main:\n" + "動詞-自立\n"; JapaneseTokenizerFactory tokenizerFactory = new JapaneseTokenizerFactory(new Dictionary <String, String>()); tokenizerFactory.Inform(new StringMockResourceLoader("")); TokenStream ts = tokenizerFactory.Create(new StringReader("私は制限スピードを超える。")); IDictionary <String, String> args = new Dictionary <String, String>(); args.Put("luceneMatchVersion", TEST_VERSION_CURRENT.toString()); args.Put("tags", "stoptags.txt"); JapanesePartOfSpeechStopFilterFactory factory = new JapanesePartOfSpeechStopFilterFactory(args); factory.Inform(new StringMockResourceLoader(tags)); ts = factory.Create(ts); AssertTokenStreamContents(ts, new String[] { "私", "は", "制限", "スピード", "を" } ); }