public void Csv_is_constructed_correctly() { // Arrange var actual_bank_record = new ActualBankRecord(); string csv_line = String.Format("06/03/2017,BAC,\"'Some , description\",127.69,261.40,\"'Envelope\",\"'228822-99933422\","); actual_bank_record.Load(csv_line); actual_bank_record.Matched = false; // Act string constructed_csv_line = actual_bank_record.To_csv(); // Assert Assert.AreEqual("06/03/2017,£127.69,BAC,\"'Some ; description\"", constructed_csv_line); }
public void Amounts_should_be_written_using_pound_signs() { // Arrange var actual_bank_record = new ActualBankRecord(); var amount = "123.55"; var amount_with_pound_sign = "£" + amount; string csv_line = String.Format("06/03/2017,BAC,\"description\",{0},261.40,\"'Envelope\",\"'228822-99933422\",", amount); actual_bank_record.Load(csv_line); // Act string constructed_csv_line = actual_bank_record.To_csv(); // Assert string expected_csv_line = String.Format("06/03/2017,{0},BAC,\"description\"", amount_with_pound_sign); Assert.AreEqual(expected_csv_line, constructed_csv_line); }
public void Amounts_containing_commas_should_be_encased_in_quotes() { // Arrange var actual_bank_record = new ActualBankRecord(); var amount = 1234.55; var amount_containing_comma = "£1,234.55"; string csv_line = String.Format("06/03/2017,BAC,\"description\",{0},261.40,\"'Envelope\",\"'228822-99933422\",", amount); actual_bank_record.Load(csv_line); // Act string constructed_csv_line = actual_bank_record.To_csv(); // Assert string expected_csv_line = String.Format("06/03/2017,\"{0}\",BAC,\"description\"", amount_containing_comma); Assert.AreEqual(expected_csv_line, constructed_csv_line); }
public void If_input_is_encased_in_quotes_then_output_only_has_one_encasing_set_of_quotes() { // Arrange var actual_bank_record = new ActualBankRecord(); var description_encased_in_one_set_of_quotes = "\"'Some description\""; string csv_line = String.Format("06/03/2017,BAC,{0},127.69,261.40,\"'Envelope\",\"'228822-99933422\",", description_encased_in_one_set_of_quotes); actual_bank_record.Load(csv_line); actual_bank_record.Matched = false; // Act string constructed_csv_line = actual_bank_record.To_csv(); // Assert var expected_csv_line = String.Format("06/03/2017,£127.69,BAC,{0}", description_encased_in_one_set_of_quotes); Assert.AreEqual(expected_csv_line, constructed_csv_line); }