コード例 #1
0
        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;
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }