public void Run() { var data = File.ReadAllText(RENT_FILE_PATH); var lines = data.Split(Environment.NewLine, StringSplitOptions.RemoveEmptyEntries); var orderFields = new List <string>(); foreach (var line in lines) { orderFields.AddRange(CsvDeserializer.DeserializeOrders(line)); } var orders = new Dictionary <string, int>(); foreach (var field in orderFields) { if (orders.ContainsKey(field)) { orders[field]++; } else { orders.Add(field, 1); } } PrintOrders(orders); }
// Test deserialization on a normal file with a header public void TestDeserialize() { string path = TestCommon.GetPath("testcsv_deserialize.csv"); List <TestData> results = new List <TestData>(); using (StreamReader sr = File.OpenText(path)) { CsvDeserializer <TestData> deserializer = new CsvDeserializer <TestData>(new CsvParser(sr)); while (deserializer.TryProduce(out TestData output)) { results.Add(output); } } Assert.IsTrue(results.Count == 3); Assert.IsTrue(results[0].Name == "Alice"); Assert.IsTrue(results[0].Age == 32); Assert.IsTrue(results[0].Percent == 96.4f); Assert.IsTrue(results[0].FavoriteColor == Color.Blue); Assert.IsTrue(results[1].Name == "Bob"); Assert.IsTrue(results[1].Age == 25); Assert.IsTrue(results[1].Percent == 87.3f); Assert.IsTrue(results[1].FavoriteColor == Color.Red); Assert.IsTrue(results[2].Name == "Charlie"); Assert.IsTrue(results[2].Age == 33); Assert.IsTrue(results[2].Percent == 50.2f); Assert.IsTrue(results[2].FavoriteColor == Color.Green); }
private static List <Rent> LoadRents(string filePath) { var lines = LoadCsvLines(filePath); var rents = new List <Rent>(); foreach (var line in lines) { rents.Add(CsvDeserializer.DeserializeRent(line)); } return(rents); }
private static List <VehicleType> LoadVehicleTypes(string filePath) { var lines = LoadCsvLines(filePath); var vehicleTypes = new List <VehicleType>(); foreach (var line in lines) { vehicleTypes.Add(CsvDeserializer.DeserializeVehicleType(line)); } return(vehicleTypes); }
public void Can_deserialize_single() { var deserializer = new CsvDeserializer(); var bindingContext = new BindingContext() { DestinationType = typeof(User), GenericType = null, Configuration = new BindingConfig() }; var result = deserializer.Deserialize("text/csv", new MemoryStream(Encoding.UTF8.GetBytes("Name,Age\r\nJim,45\r\n")), bindingContext); ((User)result).ShouldBeEquivalentTo(_users[0]); }
public void Can_deserialize_collections(Type type) { var deserializer = new CsvDeserializer(); var bindingContext = new BindingContext() { DestinationType = type, GenericType = type.GetGenericArguments()[0], Configuration = new BindingConfig() }; var result = deserializer.Deserialize("text/csv", new MemoryStream(Encoding.UTF8.GetBytes(_usersString)), bindingContext); type.IsInstanceOfType(result).Should().BeTrue(); ((IEnumerable)result).ShouldBeEquivalentTo(_users); }
/// <summary> The entry point. </summary> static void Main() { System.Console.Title = EClientApplicationName.WarThunderPresetRandomizer; var defaultColor = ConsoleColor.Gray; var requiredSettings = new List <string> { nameof(Settings.WarThunderLocation), nameof(Settings.KlensysWarThunderToolsLocation), }; try { var loggers = new IConfiguredLogger[] { new ConfiguredNLogger(ELoggerName.FileLogger, new ExceptionFormatter(), ESubdirectory.Logs), new ConfiguredNLogger(ELoggerName.ConsoleLogger, new ExceptionFormatter()), }; var fileManager = new WarThunderFileManager(loggers); var fileReader = new WarThunderFileReader(loggers); var settingsManager = new WarThunderSettingsManager(fileManager, EConsoleClientFile.Settings, requiredSettings, loggers); var parser = new Parser(loggers); var unpacker = new Unpacker(fileManager, loggers); var dataRepositoryFactory = new DataRepositoryFactoryWarThunder(loggers); var converter = new Converter(loggers); var jsonHelper = new WarThunderJsonHelper(loggers); var csvDeserializer = new CsvDeserializer(loggers); var randomiser = new CustomRandomiser(loggers); var vehicleSelector = new VehicleSelector(randomiser, loggers); var presetGenerator = new PresetGenerator(randomiser, vehicleSelector, loggers); var thunderSkillParser = new ThunderSkillParser(loggers); using (var manager = new Manager(fileManager, fileReader, settingsManager, parser, unpacker, converter, jsonHelper, csvDeserializer, dataRepositoryFactory, randomiser, vehicleSelector, presetGenerator, thunderSkillParser, true, false, false, loggers)) { manager.RemoveOldLogFiles(); manager.InitialiseGameClientVersion(); while (!settingsManager.WarThunderLocationIsValid()) { System.Console.Write(EConsoleUiLogMessage.SelectValidLocation.Format(EApplicationName.WarThunder)); settingsManager.Save(nameof(Settings.WarThunderLocation), System.Console.ReadLine()); } while (!settingsManager.KlensysWarThunderToolLocationIsValid()) { System.Console.Write(EConsoleUiLogMessage.SelectValidLocation.Format(EApplicationName.KlensysWarThunderTools)); settingsManager.Save(nameof(Settings.KlensysWarThunderToolsLocation), System.Console.ReadLine()); } System.Console.WriteLine(); manager.CacheData(); while (true) { var specification = ParseSpecification ( TakeSpecificationInput(), manager .ResearchTrees .SelectMany(nationResearchTreeKeyValuePair => nationResearchTreeKeyValuePair.Value) .SelectMany(branchKeyValuePair => branchKeyValuePair.Value) .SelectMany(rankKeyValuePair => rankKeyValuePair.Value) .Select(rankVehicleKeyValuePair => rankVehicleKeyValuePair.Value.GaijinId) ); foreach (var vehicle in manager.GeneratePrimaryAndFallbackPresets(specification)[EPreset.Primary]) { System.Console.ForegroundColor = !vehicle.IsResearchable ? ConsoleColor.Yellow : ConsoleColor.White; System.Console.WriteLine($"\t {vehicle.BattleRatingFormatted[specification.GameMode]} {vehicle.GaijinId}"); } System.Console.ForegroundColor = defaultColor; } } } catch { System.Console.Write($"\n{ECoreLogMessage.AnErrorHasOccurred} {EConsoleUiLogMessage.PressAnyKeyToExit} "); System.Console.ReadKey(true); Environment.Exit(0); } }
public CsvReader(Stream input, CsvConfig config = null) { Config = config ?? new CsvConfig(); reader = new CsvDeserializer(input, Config); }