예제 #1
0
 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"));
     }
 }
예제 #2
0
        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);
        }
예제 #3
0
        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[] { "私", "は", "制限", "スピード", "を" }
                                      );
        }