public void TestFileWithDifferentDelimiter() { KeyValuePair <List <List <string> >, string> fileInput = generateFileInput(AtLeast(100), " , ", true, true); Stream inputReader = new MemoryStream(fileInput.Value.getBytes(Encoding.UTF8)); FileDictionary dictionary = new FileDictionary(inputReader, " , "); List <List <string> > entries = fileInput.Key; IInputIterator inputIter = dictionary.GetEntryIterator(); assertTrue(inputIter.HasPayloads); BytesRef term; int count = 0; while ((term = inputIter.Next()) != null) { assertTrue(entries.size() > count); List <string> entry = entries[count]; assertTrue(entry.size() >= 2); // at least term and weight assertEquals(entry[0], term.Utf8ToString()); assertEquals(long.Parse(entry[1], CultureInfo.InvariantCulture), inputIter.Weight); if (entry.size() == 3) { assertEquals(entry[2], inputIter.Payload.Utf8ToString()); } else { assertEquals(inputIter.Payload.Length, 0); } count++; } assertEquals(count, entries.size()); }
public void TestFileWithTerm() { KeyValuePair <List <List <string> >, string> fileInput = generateFileInput(AtLeast(100), FileDictionary.DEFAULT_FIELD_DELIMITER, false, false); Stream inputReader = new MemoryStream(fileInput.Value.getBytes(Encoding.UTF8)); FileDictionary dictionary = new FileDictionary(inputReader); List <List <string> > entries = fileInput.Key; IInputIterator inputIter = dictionary.GetEntryIterator(); assertFalse(inputIter.HasPayloads); BytesRef term; int count = 0; while ((term = inputIter.Next()) != null) { assertTrue(entries.size() > count); List <string> entry = entries[count]; assertTrue(entry.size() >= 1); // at least a term assertEquals(entry[0], term.Utf8ToString()); assertEquals(1, inputIter.Weight); assertNull(inputIter.Payload); count++; } assertEquals(count, entries.size()); }