public void M_WhenRemovingRecordPermanentlyItDoesNotComeBackAfterRefreshingFileContents()
        {
            // Arrange
            var mock_file_io    = new Mock <IFileIO <ExpectedIncomeRecord> >();
            var new_description = "Third record";
            var source_records  = new List <ExpectedIncomeRecord>
            {
                new ExpectedIncomeRecord {
                    Description = "First record"
                },
                new ExpectedIncomeRecord {
                    Description = "Second record"
                }
            };

            mock_file_io.Setup(x => x.Load(It.IsAny <List <string> >(), null)).Returns(source_records);
            var file = new CSVFile <ExpectedIncomeRecord>(mock_file_io.Object);

            file.Load();
            Assert.AreEqual(2, file.Records.Count);

            // Act
            file.Add_record_permanently(new ExpectedIncomeRecord {
                Description = new_description
            });
            file.Populate_records_from_original_file_load();

            // Assert
            Assert.AreEqual(3, file.Records.Count);
            Assert.AreEqual(new_description, file.Records[2].Description);
        }