Esempio n. 1
0
        public void Will_populate_bank_record_cells()
        {
            // Arrange
            var bank_record = new BankRecord
            {
                Date = new DateTime(year: 2018, month: 7, day: 1),
                Unreconciled_amount = 80.20,
                Type              = "Chq",
                Description       = "New description which will overwrite what's normally there.",
                Cheque_number     = 4234566,
                Reconciled_amount = 6666.66,
            };
            var cells           = _spreadsheet.Current_cells(TestSheetNames.Bank);
            var last_row_number = _spreadsheet.Last_row_number(TestSheetNames.Bank);
            var previous_record = new BankRecord();

            previous_record.Read_from_spreadsheet_row(_spreadsheet.Read_last_row(TestSheetNames.Bank));

            // Act
            bank_record.Populate_spreadsheet_row(cells, last_row_number);
            var new_row = _spreadsheet.Read_last_row(TestSheetNames.Bank);

            // Assert
            Assert.AreEqual(bank_record.Date, DateTime.FromOADate((double)new_row.Read_cell(0)));
            Assert.AreEqual(bank_record.Unreconciled_amount, (Double)new_row.Read_cell(1));
            Assert.AreEqual(bank_record.Type, (String)new_row.Read_cell(3));
            Assert.AreEqual(bank_record.Description, (String)new_row.Read_cell(4));
            Assert.AreEqual(bank_record.Cheque_number, (Double)new_row.Read_cell(5));
            Assert.AreEqual(bank_record.Reconciled_amount, (Double)new_row.Read_cell(6));

            // Clean up
            previous_record.Populate_spreadsheet_row(cells, last_row_number);
        }
Esempio n. 2
0
        public void Will_populate_zero_amounts_as_empty_bank_record_cells()
        {
            // Arrange
            var bank_record = new BankRecord
            {
                Unreconciled_amount = 0,
                Cheque_number       = 0,
                Reconciled_amount   = 0
            };
            var cells           = _spreadsheet.Current_cells(TestSheetNames.Bank);
            var last_row_number = _spreadsheet.Last_row_number(TestSheetNames.Bank);
            var previous_record = new BankRecord();

            previous_record.Read_from_spreadsheet_row(_spreadsheet.Read_last_row(TestSheetNames.Bank));

            // Act
            bank_record.Populate_spreadsheet_row(cells, last_row_number);
            var new_row = _spreadsheet.Read_last_row(TestSheetNames.Bank);

            // Assert
            Assert.AreEqual(null, new_row.Read_cell(1));
            Assert.AreEqual(null, new_row.Read_cell(5));
            Assert.AreEqual(null, new_row.Read_cell(6));

            // Clean up
            previous_record.Populate_spreadsheet_row(cells, last_row_number);
        }
Esempio n. 3
0
        public void Will_populate_source_line_when_reading_from_bank_record_cells()
        {
            // Arrange
            String expected_source_line = String.Format("02/07/2018^£5.20^^ABC^description4^42345^\"£7,567.89\"^^^");
            var    bank_record          = new BankRecord();
            var    cells = _spreadsheet.Read_last_row(TestSheetNames.Bank);

            // Act
            bank_record.Read_from_spreadsheet_row(cells);

            // Assert
            Assert.AreEqual(expected_source_line, bank_record.OutputSourceLine);
        }
        private BankRecord Get_last_bank_out_record_with_specified_description(string description)
        {
            var bank_record = new BankRecord();

            var row_number_of_last_relevant_payment = _spreadsheet_io.Find_row_number_of_last_row_containing_cell(
                MainSheetNames.Bank_out,
                description,
                BankRecord.DescriptionIndex + 1);
            var bank_out_row = _spreadsheet_io.Read_specified_row(
                MainSheetNames.Bank_out,
                row_number_of_last_relevant_payment);

            bank_record.Read_from_spreadsheet_row(bank_out_row);

            return(bank_record);
        }
Esempio n. 5
0
        public void Will_cope_with_bank_record_cells_when_not_all_cells_are_populated()
        {
            // Arrange
            String        expected_description = "SOMETHING EXCITING & SOMEWHERE COOL";
            var           bank_record          = new BankRecord();
            List <object> cells = new List <object>
            {
                (double)43405,
                null,
                null,
                "POS",
                expected_description
            };

            // Act
            bank_record.Read_from_spreadsheet_row(new ExcelRow(cells));

            // Assert
            Assert.AreEqual(expected_description, bank_record.Description);
        }
Esempio n. 6
0
        public void Will_cope_with_bank_cells_when_unreconciled_amount_is_not_populated()
        {
            // Arrange
            String        expected_description = "PASTA PLASTER";
            var           bank_record          = new BankRecord();
            List <object> cells = new List <object>
            {
                (double)43405,
                null,
                "x",
                "POS",
                expected_description
            };

            // Act
            bank_record.Read_from_spreadsheet_row(new ExcelRow(cells));

            // Assert
            Assert.AreEqual(expected_description, bank_record.Description);
        }
        private string Get_budget_item_description(string budget_item_code)
        {
            var bank_record = new BankRecord();

            int       budget_out_code_column = 1;
            const int budgetOutFirstBankRecordColumnNumber = 2;
            const int budgetOutLastBankRecordColumnNumber  = 6;

            var row_number_of_budget_item = _spreadsheet_io.Find_row_number_of_last_row_containing_cell(
                MainSheetNames.Budget_out,
                budget_item_code,
                budget_out_code_column);
            var budget_item_row = _spreadsheet_io.Read_specified_row(
                MainSheetNames.Budget_out,
                row_number_of_budget_item,
                budgetOutFirstBankRecordColumnNumber,
                budgetOutLastBankRecordColumnNumber);

            bank_record.Read_from_spreadsheet_row(budget_item_row);

            return(bank_record.Description);
        }
Esempio n. 8
0
        public void Will_insert_x_in_cell_when_bank_record_is_matched()
        {
            // Arrange
            var bank_record = new BankRecord {
                Matched = true
            };
            var cells           = _spreadsheet.Current_cells(TestSheetNames.Bank);
            var last_row_number = _spreadsheet.Last_row_number(TestSheetNames.Bank);
            var previous_record = new BankRecord();

            previous_record.Read_from_spreadsheet_row(_spreadsheet.Read_last_row(TestSheetNames.Bank));

            // Act
            bank_record.Populate_spreadsheet_row(cells, last_row_number);
            var new_row = _spreadsheet.Read_last_row(TestSheetNames.Bank);

            // Assert
            Assert.AreEqual("x", (String)new_row.Read_cell(2));

            // Clean up
            previous_record.Populate_spreadsheet_row(cells, last_row_number);
        }
Esempio n. 9
0
        public void Will_insert_divider_text_in_second_cell_when_bank_record_is_divider()
        {
            // Arrange
            var bank_record = new BankRecord {
                Divider = true
            };
            var cells           = _spreadsheet.Current_cells(TestSheetNames.Bank);
            var last_row_number = _spreadsheet.Last_row_number(TestSheetNames.Bank);
            var previous_record = new BankRecord();

            previous_record.Read_from_spreadsheet_row(_spreadsheet.Read_last_row(TestSheetNames.Bank));

            // Act
            bank_record.Populate_spreadsheet_row(cells, last_row_number);
            var new_row = _spreadsheet.Read_last_row(TestSheetNames.Bank);

            // Assert
            Assert.AreEqual(ReconConsts.DividerText, (String)new_row.Read_cell(1));

            // Clean up
            previous_record.Populate_spreadsheet_row(cells, last_row_number);
        }
        public void Will_insert_null_in_relevant_cell_when_bank_record_is_not_matched()
        {
            // Arrange
            var bank_record = new BankRecord {
                Matched = false
            };
            var cells           = _spreadsheet.Current_cells("Bank");
            var last_row_number = _spreadsheet.Last_row_number("Bank");
            var previous_record = new BankRecord();

            previous_record.Read_from_spreadsheet_row(_spreadsheet.Read_last_row("Bank"));

            // Act
            bank_record.Populate_spreadsheet_row(cells, last_row_number);
            var new_row = _spreadsheet.Read_last_row("Bank");

            // Assert
            Assert.AreEqual(null, (String)new_row.Read_cell(2));

            // Clean up
            previous_record.Populate_spreadsheet_row(cells, last_row_number);
        }
Esempio n. 11
0
        public void Will_read_from_bank_record_cells_when_values_are_null()
        {
            // Arrange
            DateTime expected_date = new DateTime(year: 2018, month: 7, day: 1);
            Double   expected_unreconciled_amount = 5.15;
            String   expected_type              = "ABC";
            String   expected_description       = "description3";
            int      expected_cheque_number     = 0;
            Double   expected_reconciled_amount = 0;
            var      bank_record = new BankRecord();
            var      cells       = _spreadsheet.Read_specified_row(TestSheetNames.Bank, 6);

            // Act
            bank_record.Read_from_spreadsheet_row(cells);

            // Assert
            Assert.AreEqual(expected_date, bank_record.Date);
            Assert.AreEqual(expected_unreconciled_amount, bank_record.Unreconciled_amount);
            Assert.AreEqual(expected_type, bank_record.Type);
            Assert.AreEqual(expected_description, bank_record.Description);
            Assert.AreEqual(expected_cheque_number, bank_record.Cheque_number);
            Assert.AreEqual(expected_reconciled_amount, bank_record.Reconciled_amount);
        }
Esempio n. 12
0
        public void Will_read_from_bank_record_cells()
        {
            // Arrange
            DateTime expected_date = new DateTime(year: 2018, month: 7, day: 2);
            Double   expected_unreconciled_amount = 5.20;
            String   expected_type              = "ABC";
            String   expected_description       = "description4";
            int      expected_cheque_number     = 42345;
            Double   expected_reconciled_amount = 7567.89;
            var      bank_record = new BankRecord();
            var      cells       = _spreadsheet.Read_last_row(TestSheetNames.Bank);

            // Act
            bank_record.Read_from_spreadsheet_row(cells);

            // Assert
            Assert.AreEqual(expected_date, bank_record.Date);
            Assert.AreEqual(expected_unreconciled_amount, bank_record.Unreconciled_amount);
            Assert.AreEqual(expected_type, bank_record.Type);
            Assert.AreEqual(expected_description, bank_record.Description);
            Assert.AreEqual(expected_cheque_number, bank_record.Cheque_number);
            Assert.AreEqual(expected_reconciled_amount, bank_record.Reconciled_amount);
        }