Наконец, вы готовы к тому, чтобы реализовать всю задачу, поставленную два слайда назад!
В классе FieldsParserTask реализуйте метод ParseLine, для которого вы создавали тесты в предыдущей задаче.
Создайте модульные тесты на это решение и перенесите разработанные в прошлой задаче тестовые случаи в модульные тесты.
Решение получится более простым, если ваши вспомогательные методы будут использовать Token
в качестве возвращаемого значения.
В качестве вспомогательных методов могут быть методы, читающие разные виды полей (у вас уже реализован метод ReadQuotedField
), а также метод пропускающий пробелы между полями.
Обратите внимание на метод GetIndexNextToToken
в классе Token
. Он возвращает позицию, с которой нужно продолжить анализ строки.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
using System.Collections.Generic; using System.Linq; using NUnit.Framework; namespace TableParser { [TestFixture] public class FieldParserTaskTests { public static void Test(string input, string[] expectedResult) { var actualResult = FieldsParserTask.ParseLine(input); Assert.AreEqual(expectedResult.Length, actualResult.Count); for (int i = 0; i < expectedResult.Length; ++i) { Assert.AreEqual(expectedResult[i], actualResult[i].Value); } } |
Стоимость решения этой задачи всего 100 рублей, купи решения у меня 🙂