using AsbCloudApp.Exceptions; using CsvHelper; using System; using System.Collections.Generic; using System.Globalization; using System.IO; using System.Linq; using System.Reflection; namespace AsbCloudInfrastructure.Tests; /// /// Хелпер, который помогает получать мок-данные из csv файла /// public static class CsvMockHelper { /// /// метод получения данных из файла /// /// /// путь до файла /// /// public static IEnumerable Get(string path) { var resourceName = Assembly.GetExecutingAssembly() .GetManifestResourceNames() .Where(r => r.Contains(path)) .FirstOrDefault(); if (String.IsNullOrEmpty(resourceName)) throw new ArgumentInvalidException(nameof(path), "Файл с mock-данными не найден"); using var stream = Assembly.GetExecutingAssembly() .GetManifestResourceStream(resourceName)!; using (var reader = new StreamReader(stream)) { using (var csv = new CsvReader(reader, CultureInfo.InvariantCulture)) { var dataSaubMaps = csv.GetRecords().ToArray(); return dataSaubMaps; } } } }