public void Will_order_records_for_spreadsheet_by_matched_and_then_by_date_with_divider_between() { // Arrange const bool doNotOrderByDate = false; var file_io = new FileIO <BankRecord>(new FakeSpreadsheetRepoFactory(), _csv_file_path, "BankIn-formatted-date-only"); var csv_file = new CSVFile <BankRecord>(file_io); csv_file.Load( true, null, doNotOrderByDate); csv_file.Records[0].Matched = true; csv_file.Records[1].Matched = true; csv_file.Records[3].Matched = true; // Act var records = csv_file.Records_ordered_for_spreadsheet(); // Assert Assert.AreEqual("ZZZThing2", records[0].Description); Assert.AreEqual("ZZZSpecialDescription001", records[1].Description); Assert.AreEqual("ZZZThing1", records[2].Description); Assert.AreEqual(true, records[3].Divider); Assert.AreEqual("ZZZThing3", records[4].Description); Assert.AreEqual("ZZZSpecialDescription005", records[5].Description); }
public void Will_append_all_rows_in_csv_file_to_specified_worksheet() { // Arrange var sheet_name = TestSheetNames.Bank; var file_io = new FileIO <BankRecord>(new ExcelSpreadsheetRepoFactory(""), _csvFilePath, "BankIn-formatted-date-only"); var csv_file = new CSVFile <BankRecord>(file_io); csv_file.Load(); var initial_last_row_number = _excelSpreadsheet.Last_row_number(sheet_name); // Act _excelSpreadsheet.Append_csv_file <BankRecord>(sheet_name, csv_file); var new_last_row = _excelSpreadsheet.Read_last_row(sheet_name); var new_row_number = _excelSpreadsheet.Last_row_number(sheet_name); // Clean up for (int count = 1; count <= csv_file.Records.Count; count++) { _excelSpreadsheet.Remove_last_row(sheet_name); } // Assert var last_record_in_ordered_csv_file = csv_file.Records_ordered_for_spreadsheet()[csv_file.Records.Count - 1]; Assert.AreEqual(last_record_in_ordered_csv_file.Date, DateTime.FromOADate((double)new_last_row.Read_cell(0))); Assert.AreEqual(last_record_in_ordered_csv_file.Unreconciled_amount, (Double)new_last_row.Read_cell(1)); Assert.AreEqual(last_record_in_ordered_csv_file.Type, (String)new_last_row.Read_cell(3)); Assert.AreEqual(last_record_in_ordered_csv_file.Description, (String)new_last_row.Read_cell(4)); Assert.AreEqual(null, new_last_row.Read_cell(5)); Assert.AreEqual(null, new_last_row.Read_cell(6)); Assert.AreEqual(initial_last_row_number + csv_file.Records.Count, new_row_number); }
public void When_ordering_records_for_spreadsheet_if_no_matched_then_no_divider() { // Arrange var file_io = new FileIO <BankRecord>(new FakeSpreadsheetRepoFactory(), _csv_file_path, "BankIn-formatted-date-only"); var csv_file = new CSVFile <BankRecord>(file_io); csv_file.Load(); // Act var records = csv_file.Records_ordered_for_spreadsheet(); // Assert Assert.AreEqual(5, records.Count); Assert.AreEqual(false, records[0].Divider); Assert.AreEqual(false, records[1].Divider); Assert.AreEqual(false, records[2].Divider); Assert.AreEqual(false, records[3].Divider); Assert.AreEqual(false, records[4].Divider); }
public void When_ordering_records_for_spreadsheet_will_insert_divider_between_matched_and_non_matched() { // Arrange var file_io = new FileIO <BankRecord>(new FakeSpreadsheetRepoFactory(), _csv_file_path, "BankIn-formatted-date-only"); var csv_file = new CSVFile <BankRecord>(file_io); csv_file.Load(); csv_file.Records[0].Matched = true; csv_file.Records[3].Matched = true; // Act var records = csv_file.Records_ordered_for_spreadsheet(); // Assert Assert.AreEqual(6, records.Count); Assert.AreEqual(true, records[1].Matched); Assert.AreEqual(false, records[1].Divider); Assert.AreEqual(true, records[2].Divider); Assert.AreEqual(false, records[3].Matched); Assert.AreEqual(false, records[3].Divider); }