Практика «Парсер полей»

Скачайте проект TableParser

Наконец, вы готовы к тому, чтобы реализовать всю задачу, поставленную два слайда назад!

В классе FieldsParserTask реализуйте метод ParseLine, для которого вы создавали тесты в предыдущей задаче.

Создайте модульные тесты на это решение и перенесите разработанные в прошлой задаче тестовые случаи в модульные тесты.

Решение получится более простым, если ваши вспомогательные методы будут использовать Token в качестве возвращаемого значения.

В качестве вспомогательных методов могут быть методы, читающие разные виды полей (у вас уже реализован метод ReadQuotedField), а также метод пропускающий пробелы между полями.

Обратите внимание на метод GetIndexNextToToken в классе Token. Он возвращает позицию, с которой нужно продолжить анализ строки.

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 рублей, купи решения у меня 🙂



Обновлено: 20.10.2019 — 21:51

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.