public ExtractedContent Extract(string[] allLines) { var header = allLines[0]; var contentLines = allLines.Skip(1); var headerValues = header.Split(Comma); var indexValues = new ContentIndexValues(headerValues); var extractedContent = new ExtractedContent(); foreach (var line in contentLines) { var splittedLine = line.Split(Comma); var contentItem = new ContentItem() { FirstName = splittedLine[indexValues.FirstNameIndex], LastName = splittedLine[indexValues.LastNameIndex], Address = splittedLine[indexValues.AddressIndex], PhoneNumber = splittedLine[indexValues.PhoneNumberIndex] }; extractedContent.Add(contentItem); } return(extractedContent); }
public void IndexIsPopulated() { var contentIndexValues = new ContentIndexValues(new[] { "PhoneNumber", "Address", "LastName", "FirstName" }); Assert.That(contentIndexValues.PhoneNumberIndex, Is.EqualTo(0)); Assert.That(contentIndexValues.AddressIndex, Is.EqualTo(1)); Assert.That(contentIndexValues.LastNameIndex, Is.EqualTo(2)); Assert.That(contentIndexValues.FirstNameIndex, Is.EqualTo(3)); }