Use Newtonsoft.Json in ConsoleTest

This commit is contained in:
Kenneth Bruen 2026-06-24 04:53:20 +02:00
parent 585025324f
commit 988df9652a
Signed by: kbruen
GPG key ID: C1980A470C3EE5B1

View file

@ -1,7 +1,8 @@
using System; using System;
using System.Linq; using System.Linq;
using System.Text.Json;
using System.Threading.Tasks; using System.Threading.Tasks;
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
using InfoferScraper; using InfoferScraper;
using InfoferScraper.Scrapers; using InfoferScraper.Scrapers;
@ -37,13 +38,15 @@ async Task PrintTrain() {
if (trainNumber == null) { if (trainNumber == null) {
return; return;
} }
Console.WriteLine( Console.WriteLine(
JsonSerializer.Serialize( JsonConvert.SerializeObject(
await new TrainScraper().Scrape(trainNumber), await new TrainScraper().Scrape(trainNumber),
new JsonSerializerOptions { new JsonSerializerSettings {
PropertyNamingPolicy = JsonNamingPolicy.CamelCase, Formatting = Formatting.Indented,
WriteIndented = true, ContractResolver = new DefaultContractResolver {
NamingStrategy = new CamelCaseNamingStrategy(),
},
} }
) )
); );
@ -55,13 +58,15 @@ async Task PrintStation() {
if (stationName == null) { if (stationName == null) {
return; return;
} }
Console.WriteLine( Console.WriteLine(
JsonSerializer.Serialize( JsonConvert.SerializeObject(
await new StationScraper().Scrape(stationName), await new StationScraper().Scrape(stationName),
new JsonSerializerOptions { new JsonSerializerSettings {
PropertyNamingPolicy = JsonNamingPolicy.CamelCase, Formatting = Formatting.Indented,
WriteIndented = true, ContractResolver = new DefaultContractResolver {
NamingStrategy = new CamelCaseNamingStrategy(),
},
} }
) )
); );
@ -75,21 +80,21 @@ async Task ScrapeItineraries() {
if (from == null || to == null) return; if (from == null || to == null) return;
var data = await new RouteScraper().Scrape(from, to); var data = await new RouteScraper().Scrape(from, to);
Console.WriteLine($"{data.Count} itineraries:"); Console.WriteLine($"{data.Count} itineraries:");
Console.WriteLine(); Console.WriteLine();
void PrintArrDepLine(DateTimeOffset date, string station) { void PrintArrDepLine(DateTimeOffset date, string station) {
Console.WriteLine($"{date:HH:mm} {station}"); Console.WriteLine($"{date:HH:mm} {station}");
} }
foreach (var itinerary in data) { foreach (var itinerary in data) {
foreach (var train in itinerary.Trains) { foreach (var train in itinerary.Trains) {
PrintArrDepLine(train.DepartureDate, train.From); PrintArrDepLine(train.DepartureDate, train.From);
Console.WriteLine($" {train.TrainRank,-4} {train.TrainNumber,-5} ({train.Operator}), {train.Km,3} km via {string.Join(", ", train.IntermediateStops)}"); Console.WriteLine($" {train.TrainRank,-4} {train.TrainNumber,-5} ({train.Operator}), {train.Km,3} km via {string.Join(", ", train.IntermediateStops)}");
PrintArrDepLine(train.ArrivalDate, train.To); PrintArrDepLine(train.ArrivalDate, train.To);
} }
Console.WriteLine(); Console.WriteLine();
} }
} }