コード例 #1
0
        public void Index_Then_Export_ReturnsExpectedXml()
        {
            var search = new DocumentIndex();

            var docs = TestData.TestCorpus().Select(t => XDocument.Parse(t)).ToList().AsQueryable();

            search.IndexDocuments(docs, d => d.Root.Attribute("id").Value);

            var xml = search.ExportAsXml();

            Assert.That(xml.Root.Name.LocalName, Is.EqualTo("index"));
            Assert.That(xml.Root.Attribute("doc-count").Value, Is.EqualTo(docs.Count().ToString()));
            Assert.That(xml.Root.Elements().All(e => e.Name.LocalName == "term"));

            xml.WriteTo(XmlWriter.Create(Console.Out, new XmlWriterSettings() { Indent = true }));
        }
コード例 #2
0
        public void Export_Then_Import_RestoresState()
        {
            var index1 = new DocumentIndex();

            var docs = TestData.TestCorpus().Select(t => XDocument.Parse(t)).ToList().AsQueryable();

            index1.IndexDocuments(docs, d => d.Root.Attribute("id").Value);

            var xml = index1.ExportAsXml();

            var index2 = new DocumentIndex(index1.Tokeniser);

            index2.ImportXml(xml);

            var xml2 = index2.ExportAsXml();

            Assert.That(xml.ToString(), Is.EqualTo(xml2.ToString()));
        }