private void BuildDocument(IEnumerable <Order> orders, DocumentType documentType, Stream stream)
        {
            switch (documentType)
            {
            case DocumentType.Excel:
            {
                var documentService = new ExcelDocumentService();
                documentService.WriteDocument(orders, stream);
                break;
            }

            case DocumentType.Xml:
            {
                var documentService = new XmlDocumentService();
                documentService.WriteDocument(orders, stream);
                break;
            }

            default:
                throw new ArgumentException($"Document type: {documentType}. Type not found.", nameof(documentType));
            }
        }
        public void Proccess_Calls_Retriever_Persister_Serializer_Deserializer()
        {
            var stringList = new List <string>()
            {
                "https://habrahabr.ru/company/it-grad/blog/341486/",
                "https://github.com/AnzhelikaKravchuk/2017-2018.MMF.BSU"
            };
            URLAddress firstUrlAddress = new URLAddress("habrahabr.ru",
                                                        new List <string> {
                "company", "it-grad", "blog", "341486"
            });
            URLAddress secondUrlAddress = new URLAddress("github.com",
                                                         new List <string> {
                "AnzhelikaKravchuk", "2017-2018.MMF.BSU"
            });

            mockForDataPersister.Setup(s => s.Save(It.IsAny <XDocument>()));
            mockForDataRetriever.Setup(s => s.Load()).Returns(stringList);
            var urlAddresses = new List <URLAddress>()
            {
                firstUrlAddress, secondUrlAddress
            };

            mockForStringToUrlAddressesTransformer.Setup(s => s.Transform(stringList)).Returns(urlAddresses);
            mockForParser.Setup(s => s.Transform(It.IsAny <string>()));
            mockForValidator.Setup(s => s.IsValid(It.IsAny <string>()));
            mockForUrlAddressesToXDocumentTransformer.Setup(s => s.Transform(urlAddresses));
            mockForLogger.Setup(s => s.Error(It.IsAny <string>()));
            var service = new XmlDocumentService(mockForDataPersister.Object, mockForDataRetriever.Object,
                                                 mockForStringToUrlAddressesTransformer.Object, mockForUrlAddressesToXDocumentTransformer.Object);

            service.Process();
            mockForDataRetriever.Verify(s => s.Load(), Times.Once);
            mockForStringToUrlAddressesTransformer.Verify(s => s.Transform(stringList), Times.Once);
            mockForUrlAddressesToXDocumentTransformer.Verify(s => s.Transform(urlAddresses), Times.Once);
            mockForDataPersister.Verify(s => s.Save(It.IsAny <XDocument>()), Times.Once);
        }
Ejemplo n.º 3
0
 public XmlDocumentServiceTest()
 {
     _xmlDocumentService = new XmlDocumentService();
 }