public void Can_output_matched_records_as_csv_in_date_order() { // 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(); foreach (var record in csv_file.Records) { record.Matched = true; } // Act List <string> csv_lines = csv_file.Matched_records_as_csv(); // Assert Assert.AreEqual("01/02/2017,£350.00,x,ABC,\"ZZZThing3\",,,,,", csv_lines[0]); Assert.AreEqual("01/03/2017,£350.00,x,ABC,\"ZZZThing2\",,,,,", csv_lines[1]); Assert.AreEqual("24/03/2017,£200.12,x,PCL,\"ZZZSpecialDescription001\",,,,,", csv_lines[2]); Assert.AreEqual("01/04/2017,£261.40,x,PCL,\"ZZZSpecialDescription005\",,,,,", csv_lines[3]); Assert.AreEqual("03/04/2017,£350.00,x,ABC,\"ZZZThing1\",,,,,", csv_lines[4]); }