static private parseRules ( IEnumerable |
||
rules | IEnumerable |
|
map | ||
mappingSep | string | |
synSep | string | |
expansion | bool | |
tokFactory | ||
return | void |
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET: //ORIGINAL LINE: public void testBigramTokenizer() throws Exception public virtual void testBigramTokenizer() { SlowSynonymMap synMap; // prepare bi-gram tokenizer factory IDictionary <string, string> args = new Dictionary <string, string>(); args[AbstractAnalysisFactory.LUCENE_MATCH_VERSION_PARAM] = "4.4"; args["minGramSize"] = "2"; args["maxGramSize"] = "2"; TokenizerFactory tf = new NGramTokenizerFactory(args); // (ab)->(bc)->(cd)->[ef][fg][gh] IList <string> rules = new List <string>(); rules.Add("abcd=>efgh"); synMap = new SlowSynonymMap(true); SlowSynonymFilterFactory.parseRules(rules, synMap, "=>", ",", true, tf); assertEquals(1, synMap.submap.size()); assertEquals(1, getSubSynonymMap(synMap, "ab").submap.size()); assertEquals(1, getSubSynonymMap(getSubSynonymMap(synMap, "ab"), "bc").submap.size()); assertTokIncludes(getSubSynonymMap(getSubSynonymMap(synMap, "ab"), "bc"), "cd", "ef"); assertTokIncludes(getSubSynonymMap(getSubSynonymMap(synMap, "ab"), "bc"), "cd", "fg"); assertTokIncludes(getSubSynonymMap(getSubSynonymMap(synMap, "ab"), "bc"), "cd", "gh"); }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET: //ORIGINAL LINE: public void testRead1waySynonymRules() throws Exception public virtual void testRead1waySynonymRules() { SlowSynonymMap synMap; // (a)->[a] // (b)->[a] IList <string> rules = new List <string>(); rules.Add("a,b"); synMap = new SlowSynonymMap(true); SlowSynonymFilterFactory.parseRules(rules, synMap, "=>", ",", false, null); assertEquals(2, synMap.submap.size()); assertTokIncludes(synMap, "a", "a"); assertTokIncludes(synMap, "b", "a"); // (a)->[a] // (b)->[a] // (c)->[a] rules.Clear(); rules.Add("a,b,c"); synMap = new SlowSynonymMap(true); SlowSynonymFilterFactory.parseRules(rules, synMap, "=>", ",", false, null); assertEquals(3, synMap.submap.size()); assertTokIncludes(synMap, "a", "a"); assertTokIncludes(synMap, "b", "a"); assertTokIncludes(synMap, "c", "a"); // (a)->[a] // (b1)->(b2)->[a] rules.Clear(); rules.Add("a,b1 b2"); synMap = new SlowSynonymMap(true); SlowSynonymFilterFactory.parseRules(rules, synMap, "=>", ",", false, null); assertEquals(2, synMap.submap.size()); assertTokIncludes(synMap, "a", "a"); assertEquals(1, getSubSynonymMap(synMap, "b1").submap.size()); assertTokIncludes(getSubSynonymMap(synMap, "b1"), "b2", "a"); // (a1)->(a2)->[a1][a2] // (b)->[a1][a2] rules.Clear(); rules.Add("a1 a2,b"); synMap = new SlowSynonymMap(true); SlowSynonymFilterFactory.parseRules(rules, synMap, "=>", ",", false, null); assertEquals(2, synMap.submap.size()); assertEquals(1, getSubSynonymMap(synMap, "a1").submap.size()); assertTokIncludes(getSubSynonymMap(synMap, "a1"), "a2", "a1"); assertTokIncludes(getSubSynonymMap(synMap, "a1"), "a2", "a2"); assertTokIncludes(synMap, "b", "a1"); assertTokIncludes(synMap, "b", "a2"); }
public virtual void testMultiWordSynonymsOld() { IList <string> rules = new List <string>(); rules.Add("a b c,d"); SlowSynonymMap synMap = new SlowSynonymMap(true); SlowSynonymFilterFactory.parseRules(rules, synMap, "=>", ",", true, null); SlowSynonymFilter ts = new SlowSynonymFilter(new MockTokenizer(new StringReader("a e"), MockTokenizer.WHITESPACE, false), synMap); // This fails because ["e","e"] is the value of the token stream assertTokenStreamContents(ts, new string[] { "a", "e" }); }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET: //ORIGINAL LINE: public void testInvalidMappingRules() throws Exception public virtual void testInvalidMappingRules() { SlowSynonymMap synMap = new SlowSynonymMap(true); IList <string> rules = new List <string>(1); rules.Add("a=>b=>c"); try { SlowSynonymFilterFactory.parseRules(rules, synMap, "=>", ",", true, null); fail("IllegalArgumentException must be thrown."); } catch (System.ArgumentException) { } }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET: //ORIGINAL LINE: public void testReadMappingRules() throws Exception public virtual void testReadMappingRules() { SlowSynonymMap synMap; // (a)->[b] IList <string> rules = new List <string>(); rules.Add("a=>b"); synMap = new SlowSynonymMap(true); SlowSynonymFilterFactory.parseRules(rules, synMap, "=>", ",", true, null); assertEquals(1, synMap.submap.size()); assertTokIncludes(synMap, "a", "b"); // (a)->[c] // (b)->[c] rules.Clear(); rules.Add("a,b=>c"); synMap = new SlowSynonymMap(true); SlowSynonymFilterFactory.parseRules(rules, synMap, "=>", ",", true, null); assertEquals(2, synMap.submap.size()); assertTokIncludes(synMap, "a", "c"); assertTokIncludes(synMap, "b", "c"); // (a)->[b][c] rules.Clear(); rules.Add("a=>b,c"); synMap = new SlowSynonymMap(true); SlowSynonymFilterFactory.parseRules(rules, synMap, "=>", ",", true, null); assertEquals(1, synMap.submap.size()); assertTokIncludes(synMap, "a", "b"); assertTokIncludes(synMap, "a", "c"); // (a)->(b)->[a2] // [a1] rules.Clear(); rules.Add("a=>a1"); rules.Add("a b=>a2"); synMap = new SlowSynonymMap(true); SlowSynonymFilterFactory.parseRules(rules, synMap, "=>", ",", true, null); assertEquals(1, synMap.submap.size()); assertTokIncludes(synMap, "a", "a1"); assertEquals(1, getSubSynonymMap(synMap, "a").submap.size()); assertTokIncludes(getSubSynonymMap(synMap, "a"), "b", "a2"); // (a)->(b)->[a2] // (c)->[a3] // [a1] rules.Clear(); rules.Add("a=>a1"); rules.Add("a b=>a2"); rules.Add("a c=>a3"); synMap = new SlowSynonymMap(true); SlowSynonymFilterFactory.parseRules(rules, synMap, "=>", ",", true, null); assertEquals(1, synMap.submap.size()); assertTokIncludes(synMap, "a", "a1"); assertEquals(2, getSubSynonymMap(synMap, "a").submap.size()); assertTokIncludes(getSubSynonymMap(synMap, "a"), "b", "a2"); assertTokIncludes(getSubSynonymMap(synMap, "a"), "c", "a3"); // (a)->(b)->[a2] // [a1] // (b)->(c)->[b2] // [b1] rules.Clear(); rules.Add("a=>a1"); rules.Add("a b=>a2"); rules.Add("b=>b1"); rules.Add("b c=>b2"); synMap = new SlowSynonymMap(true); SlowSynonymFilterFactory.parseRules(rules, synMap, "=>", ",", true, null); assertEquals(2, synMap.submap.size()); assertTokIncludes(synMap, "a", "a1"); assertEquals(1, getSubSynonymMap(synMap, "a").submap.size()); assertTokIncludes(getSubSynonymMap(synMap, "a"), "b", "a2"); assertTokIncludes(synMap, "b", "b1"); assertEquals(1, getSubSynonymMap(synMap, "b").submap.size()); assertTokIncludes(getSubSynonymMap(synMap, "b"), "c", "b2"); }