private IEnumerable <Transaction> GetFusionedTransactionList(IEnumerable <IEnumerable <Transaction> > transactionsToFusion)
        {
            var firstTransactionList  = transactionsToFusion.FirstOrDefault();
            var secondTransactionList = transactionsToFusion.LastOrDefault();

            if (firstTransactionList != null && secondTransactionList != null)
            {
                var fusionnedTransactionList = _transactionServices.FusionTransactions(firstTransactionList, secondTransactionList);
                return(fusionnedTransactionList);
            }

            return(new List <Transaction>());
        }
示例#2
0
        public void ShouldOneTransactionListWhenFusionTwoCsv()
        {
            // Arrange
            var faker   = new Faker();
            var csvPath = faker.Random.String2(2);

            _transactionServices.LoadTransactions(csvPath);
            const decimal expectedGroupedCourseAmount   = -4000;
            var           firstTransactionListToFusion  = _transactionServices.GetTransactions();
            var           secondTransactionListToFusion = _transactionServices.GetTransactions();
            var           categoryName = "Courses";

            // Act
            var fusionedTransactions     = _transactionServices.FusionTransactions(firstTransactionListToFusion, secondTransactionListToFusion);
            var coursesTransactions      = fusionedTransactions.Where(t => t.Category.Name.Equals(categoryName));
            var courseTransactionsAmount = coursesTransactions.Sum(t => t.Amount);

            // Assert
            Assert.Equal(expectedGroupedCourseAmount, courseTransactionsAmount);
        }