public static Func <string, string> GetActualFilePathFromVirtualPath(string testSubDirToUse = null) { var topDir = testSubDirToUse != null ? Path.Combine(TestFileHelpers.GetTestDataFileDirectory(), testSubDirToUse) : TestFileHelpers.GetTestDataFileDirectory(); return(s => Path.Combine(topDir, s.Length < 2 ? "" : s.Substring(2))); }
public static string GetDirRelToTestDirectory(string relativeDir) { if (!relativeDir.EndsWith("\\")) { relativeDir += "\\"; } var dirPath = Path.Combine(TestFileHelpers.GetTestDataFileDirectory(), relativeDir); return(dirPath); }
public static IConfigurationRoot GetConfiguration() { var testDir = Path.Combine(TestFileHelpers.GetSolutionDirectory(), "tests"); var builder = new ConfigurationBuilder() .SetBasePath(testDir) .AddJsonFile("appsettings.json", optional: false, reloadOnChange: false) .AddEnvironmentVariables(); return(builder.Build()); }
public static T DeserializeData <T>(string searchString) where T : class { var jsonText = TestFileHelpers.GetTestFileContent(searchString); var contractResolver = new PrivateSetterJsonDefaultContractResolver(); var settings = new JsonSerializerSettings { ContractResolver = contractResolver, Converters = new[] { new TypeConverter() } }; return(JsonConvert.DeserializeObject <T>(jsonText, settings)); }
public static T DeserializeArrayWithSingleAlteration <T>(string searchString, object value, params object[] accessKeys) where T : class { var jsonText = TestFileHelpers.GetTestFileContent(searchString); var jArray = JArray.Parse(jsonText); switch (accessKeys.Length) { case 1: jArray[accessKeys[0]] = new JValue(value); break; case 2: jArray[accessKeys[0]][accessKeys[1]] = new JValue(value); break; case 3: jArray[accessKeys[0]][accessKeys[1]][accessKeys[2]] = new JValue(value); break; case 4: jArray[accessKeys[0]][accessKeys[1]][accessKeys[2]][accessKeys[3]] = new JValue(value); break; case 5: jArray[accessKeys[0]][accessKeys[1]][accessKeys[2]][accessKeys[3]][accessKeys[4]] = new JValue(value); break; case 6: jArray[accessKeys[0]][accessKeys[1]][accessKeys[2]][accessKeys[3]][accessKeys[4]][accessKeys[5]] = new JValue(value); break; default: throw new ArgumentOutOfRangeException(); } var contractResolver = new PrivateSetterJsonDefaultContractResolver(); var settings = new JsonSerializerSettings { ContractResolver = contractResolver, Converters = new[] { new TypeConverter() } }; return(JsonConvert.DeserializeObject <T>(jArray.ToString(), settings)); }