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>()); }
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); }