public void testWrite() { MemoryStream stream = new MemoryStream(); CollectionMetadataWriter writer = new CollectionMetadataWriter(stream); DocumentInfo doc1 = new DocumentInfo("http://www.google.com/index.html", "Google", 150, "#Section1", null); DocumentInfo doc2 = new DocumentInfo("http://www.google.com/index.html", "Google", 250, "#Section2", null); writer.AddDocumentInfo(0, doc1); writer.AddDocumentInfo(1, doc2); writer.WriteOut(); BinaryReader reader = new BinaryReader(stream); long collectionTokenCount = reader.ReadInt64(); Assert.AreEqual(400, collectionTokenCount); FileIndex<long, DocumentInfo> documentIndex = new FileIndex<long, DocumentInfo>( new LongEncoder(), new DocumentInfoEncoder(), stream); Assert.AreEqual(2, documentIndex.EntryCount); DocumentInfo docInfo; Assert.IsTrue(documentIndex.TryGet(0, out docInfo)); Assert.AreEqual(doc1, docInfo); Assert.IsTrue(documentIndex.TryGet(1, out docInfo)); Assert.AreEqual(doc2, docInfo); }
public void testEncodeDecode() { MemoryStream stream = new MemoryStream(); DocumentInfoEncoder encoder = new DocumentInfoEncoder(); DocumentInfo writtenDoc = new DocumentInfo("http://www.google.com/index.html", "Google", 150, "#Section1", null); encoder.write(new BinaryWriter(stream), writtenDoc); stream.Seek(0, SeekOrigin.Begin); DocumentInfo readDoc = encoder.read(new BinaryReader(stream)); Assert.AreEqual(writtenDoc, readDoc); }
internal void AddDocumentInfo(long documentId, DocumentInfo documentInfo) { documentsInfo.Add(documentId, documentInfo); collectionTokenCount += documentInfo.Length; }