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);
        }
예제 #2
0
        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));
        }