public virtual void TestCustomIntParser()
{
List<string> letters = Arrays.AsList(new string[] { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J" });
letters = (List<string>)CollectionsHelper.Shuffle(letters);
Directory dir = NewDirectory();
RandomIndexWriter iw = new RandomIndexWriter(Random(), dir, Similarity, TimeZone);
foreach (string letter in letters)
{
Document doc = new Document();
doc.Add(NewStringField("parser", letter, Field.Store.YES));
iw.AddDocument(doc);
}
IndexReader ir = iw.Reader;
iw.Dispose();
IndexSearcher searcher = NewSearcher(ir);
Sort sort = new Sort(new SortField("parser", new IntParserAnonymousInnerClassHelper(this)), SortField.FIELD_DOC);
TopDocs td = searcher.Search(new MatchAllDocsQuery(), 10, sort);
// results should be in alphabetical order
Assert.AreEqual(10, td.TotalHits);
letters.Sort();
for (int i = 0; i < letters.Count; i++)
{
Assert.AreEqual(letters[i], searcher.Doc(td.ScoreDocs[i].Doc).Get("parser"));
}
ir.Dispose();
dir.Dispose();
}