protected internal virtual void AssertEquals(RandomDocument doc, Fields fields)
{
// compare field names
Assert.AreEqual(doc == null, fields == null);
Assert.AreEqual(doc.FieldNames.Length, fields.Size);
HashSet<string> fields1 = new HashSet<string>();
HashSet<string> fields2 = new HashSet<string>();
for (int i = 0; i < doc.FieldNames.Length; ++i)
{
fields1.Add(doc.FieldNames[i]);
}
foreach (string field in fields)
{
fields2.Add(field);
}
Assert.IsTrue(fields1.SetEquals(fields2));
for (int i = 0; i < doc.FieldNames.Length; ++i)
{
AssertEquals(doc.TokenStreams[i], doc.FieldTypes[i], fields.Terms(doc.FieldNames[i]));
}
}