From 974fbe4383fe1bfbafb2d69496d816bdcc46ed92 Mon Sep 17 00:00:00 2001 From: Justin Date: Sun, 20 Oct 2024 13:42:17 -0400 Subject: [PATCH] Refactored JSON test helpers --- RLE.Core.Tests/Data/Helpers/JsonHelpers.cs | 31 ++++++++++++++------ RLE.Gig.Tests/Data/Helpers/GigJsonHelpers.cs | 8 ++--- 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/RLE.Core.Tests/Data/Helpers/JsonHelpers.cs b/RLE.Core.Tests/Data/Helpers/JsonHelpers.cs index 5019c25..8947a67 100644 --- a/RLE.Core.Tests/Data/Helpers/JsonHelpers.cs +++ b/RLE.Core.Tests/Data/Helpers/JsonHelpers.cs @@ -9,8 +9,8 @@ public class JsonHelpers public static Spreadsheet? LoadDemoSpreadsheet() { - using StreamReader reader = new($"./Data/Json/DemoSheet.json"); - var json = reader.ReadToEnd(); + var path = GetDataJsonPath("DemoSheet"); + var json = ReadJson(path); var sheetData = JsonConvert.DeserializeObject(json); return sheetData; @@ -18,26 +18,39 @@ public class JsonHelpers public static IList>? LoadJsonData(string filename) { - var path = $"./Data/Json/{filename}.json"; - var values = ReadJson(path); + var path = GetDataJsonPath(filename); + var json = ReadJson(path); + var values = DeserializeJson(json)?.Values; return values; } public static IList>? LoadJsonSheetData(string sheet) { - var path = $"./Data/Json/Sheets/{sheet}Sheet.json"; - var values = ReadJson(path); + var path = GetDataJsonPath($"Sheets/{sheet}Sheet"); + var json = ReadJson(path); + var values = DeserializeJson(json)?.Values; return values; } - private static IList>? ReadJson(string path) + public static string GetDataJsonPath(string filename) + { + return $"./Data/Json/{filename}.json"; + } + + public static string ReadJson(string path) { using StreamReader reader = new(path); var json = reader.ReadToEnd(); - var values = JsonConvert.DeserializeObject(json)?.Values; - return values; + return json; + } + + public static T DeserializeJson(string json) + { + var values = JsonConvert.DeserializeObject(json); + + return values ?? default; } } diff --git a/RLE.Gig.Tests/Data/Helpers/GigJsonHelpers.cs b/RLE.Gig.Tests/Data/Helpers/GigJsonHelpers.cs index f007dfe..d3f61b8 100644 --- a/RLE.Gig.Tests/Data/Helpers/GigJsonHelpers.cs +++ b/RLE.Gig.Tests/Data/Helpers/GigJsonHelpers.cs @@ -1,4 +1,4 @@ -using Newtonsoft.Json; +using RLE.Core.Tests.Data.Helpers; using RLE.Gig.Entities; namespace RLE.Gig.Tests.Data.Helpers; @@ -7,9 +7,9 @@ internal class GigJsonHelpers { internal static SheetEntity? LoadSheetJson() { - using StreamReader reader = new($"./Data/Json/ShiftWithTrips.json"); - var json = reader.ReadToEnd(); - var sheetData = JsonConvert.DeserializeObject(json); + var path = JsonHelpers.GetDataJsonPath("ShiftWithTrips"); + var json = JsonHelpers.ReadJson(path); + var sheetData = JsonHelpers.DeserializeJson(json); return sheetData; }