public virtual void TestStaticMethod1()
{
var fields = new []{"b", "t"};
var queries = new [] { "one", "two" };
Query q = MultiFieldQueryParser.Parse(Util.Version.LUCENE_CURRENT, queries, fields, new StandardAnalyzer(Util.Version.LUCENE_CURRENT));
Assert.AreEqual("b:one t:two", q.ToString());
var queries2 = new [] { "+one", "+two" };
q = MultiFieldQueryParser.Parse(Util.Version.LUCENE_CURRENT, queries2, fields, new StandardAnalyzer(Util.Version.LUCENE_CURRENT));
Assert.AreEqual("(+b:one) (+t:two)", q.ToString());
var queries3 = new [] { "one", "+two" };
q = MultiFieldQueryParser.Parse(Util.Version.LUCENE_CURRENT, queries3, fields, new StandardAnalyzer(Util.Version.LUCENE_CURRENT));
Assert.AreEqual("b:one (+t:two)", q.ToString());
var queries4 = new [] { "one +more", "+two" };
q = MultiFieldQueryParser.Parse(Util.Version.LUCENE_CURRENT, queries4, fields, new StandardAnalyzer(Util.Version.LUCENE_CURRENT));
Assert.AreEqual("(b:one +b:more) (+t:two)", q.ToString());
var queries5 = new [] { "blah" };
Assert.Throws<ArgumentException>(() => MultiFieldQueryParser.Parse(Util.Version.LUCENE_CURRENT, queries5, fields,
new StandardAnalyzer(Util.Version.LUCENE_CURRENT)));
// check also with stop words for this static form (qtxts[], fields[]).
var stopA = new TestQueryParser.QPTestAnalyzer();
var queries6 = new [] { "((+stop))", "+((stop))" };
q = MultiFieldQueryParser.Parse(Util.Version.LUCENE_CURRENT, queries6, fields, stopA);
Assert.AreEqual("", q.ToString());
var queries7 = new [] { "one ((+stop)) +more", "+((stop)) +two" };
q = MultiFieldQueryParser.Parse(Util.Version.LUCENE_CURRENT, queries7, fields, stopA);
Assert.AreEqual("(b:one +b:more) (+t:two)", q.ToString());
}