public virtual void TestMatching()
{
b = new SynonymMap.Builder(true);
const bool keepOrig = false;
Add("a b", "ab", keepOrig);
Add("a c", "ac", keepOrig);
Add("a", "aa", keepOrig);
Add("b", "bb", keepOrig);
Add("z x c v", "zxcv", keepOrig);
Add("x c", "xc", keepOrig);
SynonymMap map = b.Build();
Analyzer a = new AnalyzerAnonymousInnerClassHelper6(this, map);
CheckOneTerm(a, "$", "$");
CheckOneTerm(a, "a", "aa");
CheckOneTerm(a, "b", "bb");
AssertAnalyzesTo(a, "a $", new string[] { "aa", "$" }, new int[] { 1, 1 });
AssertAnalyzesTo(a, "$ a", new string[] { "$", "aa" }, new int[] { 1, 1 });
AssertAnalyzesTo(a, "a a", new string[] { "aa", "aa" }, new int[] { 1, 1 });
AssertAnalyzesTo(a, "z x c v", new string[] { "zxcv" }, new int[] { 1 });
AssertAnalyzesTo(a, "z x c $", new string[] { "z", "xc", "$" }, new int[] { 1, 1, 1 });
}