public void AccountMonthlyPositiveNegativeSum()
        {
            var baseExtractor     = new AccountExtractor(_ReadString, _RejectPattern);
            var baseExtractorData = baseExtractor.Extract();

            var accountMonthlySumPositive = new AccountMonthlySum(baseExtractorData);

            accountMonthlySumPositive.Sum(SumIndex.Index0);
            AssertDoubleLists(_MonthlySumPositive, accountMonthlySumPositive.MonthlySums);
            Console.WriteLine("Positive monthly sums");
            accountMonthlySumPositive.PrintSum();

            Console.WriteLine();

            var accountMonthlySumNegative = new AccountMonthlySum(baseExtractorData);

            accountMonthlySumNegative.Sum(SumIndex.Index1);
            AssertDoubleLists(_MontlySumNegative, accountMonthlySumNegative.MonthlySums);
            Console.WriteLine("Negative monthly sums");
            accountMonthlySumNegative.PrintSum();

            Console.WriteLine();

            var results = accountMonthlySumPositive.MonthlySums.Zip(accountMonthlySumNegative.MonthlySums, (f, s) => f + s).ToList();

            AssertDoubleLists(_MontlyPositiveNegativeSum, results);
            Console.WriteLine("Positive + negative monthly sums");
            results.ForEach(Console.WriteLine);
        }
        public void AccountMonthlySumNegative1Item()
        {
            var searchFor = new List <string> {
                "AMAZON"
            };
            var extractor        = new AccountPatternExtractor(_ReadString, searchFor);
            var extractedData    = extractor.Extract();
            var extractedDataSum = new AccountMonthlySum(extractedData);

            extractedDataSum.Sum(SumIndex.Index0);
            AssertDoubleLists(_ExpectedValuesNegative, extractedDataSum.MonthlySums);
            extractedDataSum.PrintSum();
        }