public void M_WhenAddingMonthlyBudgetedDataToSpreadsheet_WillOrderResultsByDate() { // Arrange var budget_item_list_data = new BudgetItemListData { Sheet_name = MainSheetNames.Budget_in, Start_divider = Dividers.Date, End_divider = Dividers.Total, First_column_number = 2, Last_column_number = 6 }; var first_month = 12; var last_month = 3; var mock_spreadsheet_repo = new Mock <ISpreadsheetRepo>(); var budget_data_setup = When_adding_budgeted_data_to_spreadsheet <BankRecord>( first_month, last_month, mock_spreadsheet_repo, budget_item_list_data); var mock_bank_file_io = new Mock <IFileIO <BankRecord> >(); mock_bank_file_io.Setup(x => x.Load(It.IsAny <List <string> >(), null)) .Returns(new List <BankRecord> { new BankRecord { Date = new DateTime(budget_data_setup.BudgetingMonths.Start_year, first_month, 10) }, new BankRecord { Date = new DateTime(budget_data_setup.BudgetingMonths.Start_year, first_month, 4) }, new BankRecord { Date = new DateTime(budget_data_setup.BudgetingMonths.Start_year, first_month, 25) } }); var pending_file = new CSVFile <BankRecord>(mock_bank_file_io.Object); pending_file.Load(); var spreadsheet = new Spreadsheet(mock_spreadsheet_repo.Object); // Act spreadsheet.Add_budgeted_monthly_data_to_pending_file(budget_data_setup.BudgetingMonths, pending_file, budget_item_list_data); // Assert BankRecord previous_record = null; foreach (BankRecord record in pending_file.Records) { if (null != previous_record) { Assert.IsTrue(record.Date.ToOADate() > previous_record.Date.ToOADate()); } previous_record = record; } }
public void M_WhenAddingMonthlyBudgetedDataToSpreadsheet_WillAdjustDayIfDaysInMonthIsTooLow() { // Arrange var budget_item_list_data = new BudgetItemListData { Sheet_name = MainSheetNames.Budget_in, Start_divider = Dividers.Date, End_divider = Dividers.Total, First_column_number = 2, Last_column_number = 6 }; var first_month = 12; var last_month = 2; var mock_spreadsheet_repo = new Mock <ISpreadsheetRepo>(); var budget_data_setup = When_adding_budgeted_data_to_spreadsheet <BankRecord>( first_month, last_month, mock_spreadsheet_repo, budget_item_list_data, default_day: 31); var pending_file_records = new List <BankRecord>(); var mock_pending_file = new Mock <ICSVFile <BankRecord> >(); mock_pending_file.Setup(x => x.Records).Returns(pending_file_records); var spreadsheet = new Spreadsheet(mock_spreadsheet_repo.Object); bool exception_thrown = false; // Act try { spreadsheet.Add_budgeted_monthly_data_to_pending_file(budget_data_setup.BudgetingMonths, mock_pending_file.Object, budget_item_list_data); } catch (Exception) { exception_thrown = true; } // Assert Assert.IsFalse(exception_thrown); }
public void M_WhenAddingMonthlyBudgetedDataToSpreadsheet_WillAddAllMonthlyItemsToPendingFile_WithMonthsAndYearsChanged( int first_month, int last_month) { // Arrange var budget_item_list_data = new BudgetItemListData { Sheet_name = MainSheetNames.Budget_in, Start_divider = Dividers.Date, End_divider = Dividers.Total, First_column_number = 2, Last_column_number = 6 }; var mock_spreadsheet_repo = new Mock <ISpreadsheetRepo>(); var budget_data_setup = When_adding_budgeted_data_to_spreadsheet <BankRecord>( first_month, last_month, mock_spreadsheet_repo, budget_item_list_data); var pending_file_records = new List <BankRecord>(); var mock_pending_file = new Mock <ICSVFile <BankRecord> >(); mock_pending_file.Setup(x => x.Records).Returns(pending_file_records); var spreadsheet = new Spreadsheet(mock_spreadsheet_repo.Object); // Act spreadsheet.Add_budgeted_monthly_data_to_pending_file(budget_data_setup.BudgetingMonths, mock_pending_file.Object, budget_item_list_data); // Assert Assert_WillAddAllMonthlyItemsToPendingFile_WithMonthsAndYearsChanged <BankRecord>( first_month, last_month, budget_data_setup.MonthlyRecords.Count, pending_file_records, budget_data_setup.BudgetingMonths, budget_data_setup.Desc1, budget_data_setup.Desc2); }