Example #1
0
        public void TestSerialization()
        {
            Directory         directory = NewDirectory();
            IndexWriterConfig config    = new IndexWriterConfig(TEST_VERSION_CURRENT, null);

            config.IndexDeletionPolicy = new SnapshotDeletionPolicy(config.IndexDeletionPolicy);

            IndexWriter writer = new IndexWriter(directory, config);

            writer.AddDocument(new Document());
            writer.Commit();
            IRevision revision = new IndexRevision(writer);

            SessionToken session1 = new SessionToken("17", revision);
            MemoryStream baos     = new MemoryStream();

            session1.Serialize(new DataOutputStream(baos));
            byte[] b = baos.ToArray();

            SessionToken session2 = new SessionToken(new DataInputStream(new MemoryStream(b)));

            assertEquals(session1.Id, session2.Id);
            assertEquals(session1.Version, session2.Version);
            assertEquals(1, session2.SourceFiles.Count);
            assertEquals(session1.SourceFiles.Count, session2.SourceFiles.Count);
            assertEquals(session1.SourceFiles.Keys, session2.SourceFiles.Keys);
            IList <RevisionFile> files1 = session1.SourceFiles.Values.First();
            IList <RevisionFile> files2 = session2.SourceFiles.Values.First();

            assertEquals(files1, files2);

            IOUtils.Dispose(writer, directory);
        }
Example #2
0
        public void TestSerialization()
        {
            Directory         directory = NewDirectory();
            IndexWriterConfig config    = new IndexWriterConfig(TEST_VERSION_CURRENT, null);

            config.IndexDeletionPolicy = new SnapshotDeletionPolicy(config.IndexDeletionPolicy);

            IndexWriter writer = new IndexWriter(directory, config);

            writer.AddDocument(new Document());
            writer.Commit();
            IRevision revision = new IndexRevision(writer);

            SessionToken session1 = new SessionToken("17", revision);
            MemoryStream baos     = new MemoryStream();

            session1.Serialize(new DataOutputStream(baos));
            byte[] b = baos.ToArray();

            SessionToken session2 = new SessionToken(new DataInputStream(new MemoryStream(b)));

            assertEquals(session1.Id, session2.Id);
            assertEquals(session1.Version, session2.Version);
            assertEquals(1, session2.SourceFiles.Count);
            assertEquals(session1.SourceFiles.Count, session2.SourceFiles.Count);

            // LUCENENET: Collections don't compare automatically in .NET and J2N has no structural equality
            // checking on Keys, so using CollectionAssert here. This is set
            // equality (where order doesn't matter) because in Java the keys and values collections are sets.
            CollectionAssert.AreEquivalent(session1.SourceFiles.Keys, session2.SourceFiles.Keys);
            IList <RevisionFile> files1 = session1.SourceFiles.Values.First();
            IList <RevisionFile> files2 = session2.SourceFiles.Values.First();

            assertEquals(files1, files2, aggressive: false);

            IOUtils.Dispose(writer, directory);
        }