예제 #1
0
        static async Task Main(string[] args)
        {
            string filePath  = "./verylarge.csv";
            char   separator = ',';

            var provider = new IteratorBasedDataProvider(new CsvFileIterator(filePath, Encoding.UTF8), separator);

            using (var parser = new SequentialParser <Action>(provider, OnRowProcessed))
            {
                var converter   = new ReflectionBasedConverter <Action>(CultureInfo.InvariantCulture);
                var isProcessed = await parser.ProcessAsync(converter, true);
            }

            var status = provider.GetIterator().IsStarted;

            Console.ReadKey();
        }
        public void ConverterProjectHeaderCorrectlyTest(string person_name, string person_surname, int person_age)
        {
            // arrange

            var converter = new ReflectionBasedConverter <PersonModel>(CultureInfo.InvariantCulture);
            var header    = CsvTextBuilder.BuildRow(_fixture, nameof(person_name), nameof(person_surname), nameof(person_age));

            converter.Initialize(header);

            var bodyRow = CsvTextBuilder.BuildRow(_fixture, person_name, person_surname, person_age.ToString());

            // act
            var result = converter.Convert(bodyRow);

            // assert
            Assert.Equal(person_name, result.Name);
            Assert.Equal(person_surname, result.Surname);
            Assert.Equal(person_age, result.Age);
        }