public void AbbreviationsHarvester_WithValidParametersInConstructor_ShouldCorrectlyInitializeNewInstance() { // Arrange var contextWrapperMock = new Mock <IXmlContextWrapper>(); var contextWrapper = contextWrapperMock.Object; var serializerMock = new Mock <IXmlTransformDeserializer>(); var transformersFactoryMock = new Mock <IAbbreviationsTransformersFactory>(); // Act var harvester = new AbbreviationsHarvester(contextWrapper, serializerMock.Object, transformersFactoryMock.Object); // Assert Assert.IsNotNull(harvester); var contextWrapperField = PrivateField.GetInstanceField(HarvesterType.BaseType, harvester, ContextWrapperFieldName); Assert.IsNotNull(contextWrapperField); Assert.IsInstanceOf <IXmlContextWrapper>(contextWrapperField); Assert.AreSame(contextWrapper, contextWrapperField); var serializerField = PrivateField.GetInstanceField(HarvesterType, harvester, SerializerFieldName); Assert.IsNotNull(serializerField); Assert.IsInstanceOf <IXmlTransformDeserializer>(serializerField); Assert.AreSame(serializerMock.Object, serializerField); var transformersFactoryField = PrivateField.GetInstanceField(HarvesterType, harvester, TransformersFactoryFieldName); Assert.IsNotNull(transformersFactoryField); Assert.IsInstanceOf <IAbbreviationsTransformersFactory>(transformersFactoryField); Assert.AreSame(transformersFactoryMock.Object, transformersFactoryField); }
public void AbbreviationsHarvester_WithNullSerializerInConstructor_ShouldThrowArgumentNullExceptionWithCorrectParamName() { // Arrange var contextWrapperMock = new Mock <IXmlContextWrapper>(); var transformersFactoryMock = new Mock <IAbbreviationsTransformersFactory>(); // Act + Assert var exception = Assert.Throws <ArgumentNullException>(() => { var harvester = new AbbreviationsHarvester(contextWrapperMock.Object, null, transformersFactoryMock.Object); }); Assert.AreEqual(SerializerFieldName, exception.ParamName); }
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); }