public virtual void TestCopyJDKSet() { ISet <string> set = new JCG.HashSet <string>(); IList <string> stopwords = TEST_STOP_WORDS; IList <string> stopwordsUpper = new List <string>(); foreach (string @string in stopwords) { stopwordsUpper.Add(@string.ToUpperInvariant()); } set.addAll(TEST_STOP_WORDS); CharArraySet copy = CharArraySet.Copy(TEST_VERSION_CURRENT, set); assertEquals(set.Count, copy.size()); assertEquals(set.Count, copy.size()); assertTrue(copy.containsAll(stopwords)); foreach (string @string in stopwordsUpper) { assertFalse(copy.contains(@string)); } IList <string> newWords = new List <string>(); foreach (string @string in stopwords) { newWords.Add(@string + "_1"); } copy.addAll(newWords); assertTrue(copy.containsAll(stopwords)); assertTrue(copy.containsAll(newWords)); // new added terms are not in the source set foreach (string @string in newWords) { assertFalse(set.Contains(@string)); } }
static TestRandomChains() { try { brokenConstructors[typeof(LimitTokenCountFilter).GetConstructor(new Type[] { typeof(TokenStream), typeof(int) })] = ALWAYS; brokenConstructors[typeof(LimitTokenCountFilter).GetConstructor(new Type[] { typeof(TokenStream), typeof(int), typeof(bool) })] = new PredicateAnonymousInnerClassHelper2(); brokenConstructors[typeof(LimitTokenPositionFilter).GetConstructor(new Type[] { typeof(TokenStream), typeof(int) })] = ALWAYS; brokenConstructors[typeof(LimitTokenPositionFilter).GetConstructor(new Type[] { typeof(TokenStream), typeof(int), typeof(bool) })] = new PredicateAnonymousInnerClassHelper3(); foreach (Type c in new Type[] { // TODO: can we promote some of these to be only // offsets offenders? // doesn't actual reset itself: typeof(CachingTokenFilter), // Not broken, simulates brokenness: typeof(CrankyTokenFilter), // Not broken: we forcefully add this, so we shouldn't // also randomly pick it: typeof(ValidatingTokenFilter) }) { foreach (ConstructorInfo ctor in c.GetConstructors()) { brokenConstructors[ctor] = ALWAYS; } } } catch (Exception e) { throw new Exception(e.Message, e); } try { foreach (Type c in new Type[] { typeof(ReversePathHierarchyTokenizer), typeof(PathHierarchyTokenizer), // TODO: it seems to mess up offsets!? typeof(WikipediaTokenizer), // TODO: doesn't handle graph inputs typeof(CJKBigramFilter), // TODO: doesn't handle graph inputs (or even look at positionIncrement) typeof(HyphenatedWordsFilter), // TODO: LUCENE-4983 typeof(CommonGramsFilter), // TODO: doesn't handle graph inputs typeof(CommonGramsQueryFilter), // TODO: probably doesnt handle graph inputs, too afraid to try typeof(WordDelimiterFilter) }) { foreach (ConstructorInfo ctor in c.GetConstructors()) { brokenOffsetsConstructors[ctor] = ALWAYS; } } } catch (Exception e) { throw new Exception(e.Message, e); } allowedTokenizerArgs = new JCG.HashSet <Type>(IdentityEqualityComparer <Type> .Default); allowedTokenizerArgs.addAll(argProducers.Keys); allowedTokenizerArgs.Add(typeof(TextReader)); allowedTokenizerArgs.Add(typeof(AttributeSource.AttributeFactory)); allowedTokenizerArgs.Add(typeof(AttributeSource)); allowedTokenFilterArgs = new JCG.HashSet <Type>(IdentityEqualityComparer <Type> .Default); allowedTokenFilterArgs.addAll(argProducers.Keys); allowedTokenFilterArgs.Add(typeof(TokenStream)); // TODO: fix this one, thats broken: allowedTokenFilterArgs.Add(typeof(CommonGramsFilter)); allowedCharFilterArgs = new JCG.HashSet <Type>(IdentityEqualityComparer <Type> .Default); allowedCharFilterArgs.addAll(argProducers.Keys); allowedCharFilterArgs.Add(typeof(TextReader)); }