public void TestDetermineInvoiceCurrencyForFailure()
        {
            for (int i = 0; i < files.Length; i++)
            {
                var assembly     = Assembly.GetExecutingAssembly();
                var resourceName = resourceLocation + "." + files[i];

                using (var stream = assembly.GetManifestResourceStream(resourceName))
                {
                    if (stream != null)
                    {
                        using (var reader = new StreamReader(stream))
                        {
                            var fileContents             = reader.ReadToEnd();
                            var invoiceProcessingContext = new InvoiceProcessingContext();
                            invoiceProcessingContext.Invoice = new Invoice();
                            invoiceProcessingContext.Text    = fileContents;

                            var tasks = new List <IInvoiceProcessingTask>();
                            tasks.Add(new AnalyzeEntities(1));
                            tasks.Add(new DetermineInvoiceCurrency());
                            InvoiceProcessingTaskExecutionHelper.ExecuteTasks(invoiceProcessingContext, tasks);

                            Assert.AreNotEqual(invoiceCurrency[i], Convert.ToString(invoiceProcessingContext.Invoice.Currency));
                        }
                    }
                }
            }
        }
        public void TestAnalyzeEntitiesTimeOut()
        {
            var assembly     = Assembly.GetExecutingAssembly();
            var resourceName = resourceLocation + "." + files[0];

            using (var stream = assembly.GetManifestResourceStream(resourceName))
            {
                if (stream != null)
                {
                    using (var reader = new StreamReader(stream))
                    {
                        var fileContents             = reader.ReadToEnd();
                        var invoiceProcessingContext = new InvoiceProcessingContext();
                        invoiceProcessingContext.Invoice = new Invoice();
                        invoiceProcessingContext.Text    = fileContents;

                        var tasks = new List <IInvoiceProcessingTask>();
                        tasks.Add(new AnalyzeEntities(10));
                        InvoiceProcessingTaskExecutionHelper.ExecuteTasks(invoiceProcessingContext, tasks);
                    }
                }
            }
        }