public void Merge_bespoke_data_with_pending_file( IInputOutput input_output, ISpreadsheet spreadsheet, ICSVFile <BankRecord> pending_file, BudgetingMonths budgeting_months, DataLoadingInformation <ActualBankRecord, BankRecord> data_loading_info) { input_output.Output_line(ReconConsts.Loading_expenses); _expected_income_csv_file.Load(false); spreadsheet.Add_unreconciled_rows_to_csv_file <ExpectedIncomeRecord>(MainSheetNames.Expected_in, _expected_income_file.File); _expected_income_csv_file.Populate_source_records_from_records(); _expected_income_file.Filter_for_employer_expenses_and_bank_transactions_only(); _expected_income_file.Copy_to_pending_file(pending_file); _expected_income_csv_file.Populate_records_from_original_file_load(); }
public void Will_filter_for_employer_expense_records_and_bank_transactions_only() { // Arrange var mock_expected_income_file_io = new Mock <IFileIO <ExpectedIncomeRecord> >(); var expected_income_csv_file = new CSVFile <ExpectedIncomeRecord>(mock_expected_income_file_io.Object); var expected_description_1 = "description1"; var expected_description_2 = "description2"; var expected_income_records = new List <ExpectedIncomeRecord> { new ExpectedIncomeRecord { Description = expected_description_1, Code = Codes.Expenses }, new ExpectedIncomeRecord { Description = expected_description_2, Code = Codes.ExpectedInBankTransaction }, new ExpectedIncomeRecord { Description = "description3", Code = "other" } }; mock_expected_income_file_io.Setup(x => x.Load(It.IsAny <List <string> >(), null)).Returns(expected_income_records); expected_income_csv_file.Load(); var expected_income_file = new ExpectedIncomeFile(expected_income_csv_file); // Act expected_income_file.Filter_for_employer_expenses_and_bank_transactions_only(); // Assert Assert.AreEqual(2, expected_income_csv_file.Records.Count); Assert.AreEqual(expected_description_1, expected_income_csv_file.Records[0].Description); Assert.AreEqual(expected_description_2, expected_income_csv_file.Records[1].Description); }