Ejemplo n.º 1
0
        public void AbbreviationsHarvester_HarvestSampleDocument_ShouldSucceed()
        {
            // Arrange
            const int ExpectedNumberOfAbbreviations = 22;

            var         xmlFileName = $"{ConfigurationManager.AppSettings["SampleFiles"]}/article-with-abbrev.xml";
            XmlDocument document    = new XmlDocument
            {
                PreserveWhitespace = true
            };

            document.Load(xmlFileName);

            var contextWrapper = new XmlContextWrapper();

            var deserializer = new XmlDeserializer();
            var serializer   = new XmlTransformDeserializer(deserializer);

            var xqueryCache = new XQueryTransformCache();
            var transformer = new XQueryTransformer(
                ConfigurationManager.AppSettings[AppSettingsKeys.AbbreviationsXQueryFileName],
                xqueryCache);
            var transformersFactoryMock = new Mock <IAbbreviationsTransformersFactory>();

            transformersFactoryMock
            .Setup(f => f.GetAbbreviationsTransformer())
            .Returns(transformer);

            var harvester = new AbbreviationsHarvester(contextWrapper, serializer, transformersFactoryMock.Object);

            // Act
            var abbreviations = harvester.Harvest(document.DocumentElement).Result?.ToList();

            Assert.IsNotNull(abbreviations);
            abbreviations.ForEach(i => Console.WriteLine("{0} | {1} | {2}", i.Value, i.ContentType, i.Definition));

            Assert.AreEqual(ExpectedNumberOfAbbreviations, abbreviations.Count);
        }