using Json2CSharpCodeGenerator.Lib; using Json2CSharpCodeGenerator.Lib.CodeWriters; using Microsoft.VisualStudio.TestTools.UnitTesting; namespace Json2CSharpCodeGenerator.Tests; [TestClass] public class Test_10_SETTINGS_IMMUTABLE_CLASSES_PHARES { [TestMethod] public void Run() { string path = Path.Combine(AppContext.BaseDirectory, "Test_10_SETTINGS_IMMUTABLE_CLASSES_PHARES_INPUT.txt"); string resultPath = Path.Combine(AppContext.BaseDirectory, "Test_10_SETTINGS_IMMUTABLE_CLASSES_PHARES_OUTPUT.txt"); string input = File.ReadAllText(path); JsonClassGenerator jsonClassGenerator = new() { AttributeLibrary = JsonLibrary.SystemTextJson, AttributeUsage = JsonPropertyAttributeUsage.OnlyWhenNecessary, CodeWriter = new CSharpCodeWriter(), CollectionType = OutputCollectionType.MutableList, OutputType = OutputTypes.ImmutableClass, UsePascalCase = true, UseThisKeyWord = false, }; string returnVal = jsonClassGenerator.GenerateClasses(input, errorMessage: out _).ToString(); string resultsCompare = File.ReadAllText(resultPath); string expected = resultsCompare.NormalizeOutput(); string actual = returnVal.NormalizeOutput(); if (expected != actual) { File.WriteAllText(Path.Combine(AppContext.BaseDirectory, "Test_10_SETTINGS_IMMUTABLE_CLASSES_PHARES_OUTPUT.actual.txt"), returnVal); File.WriteAllText(Path.Combine(AppContext.BaseDirectory, "Test_10_SETTINGS_IMMUTABLE_CLASSES_PHARES_OUTPUT.expected.txt"), resultsCompare); } Assert.AreEqual(expected, actual); } }