using Json2CSharpCodeGenerator.Lib; using Json2CSharpCodeGenerator.Lib.CodeWriters; using Microsoft.VisualStudio.TestTools.UnitTesting; namespace Json2CSharpCodeGenerator.Tests; [TestClass] public class Test_11_NoListSetter { [TestMethod] public void Run() { string path = Path.Combine(AppContext.BaseDirectory, "Test_11_NoListSetter_INPUT.txt"); string resultPath = Path.Combine(AppContext.BaseDirectory, "Test_11_NoListSetter_OUTPUT.txt"); string input = File.ReadAllText(path); CSharpCodeWriter csharpCodeWriter = new(); JsonClassGenerator jsonClassGenerator = new() { MutableClasses = { ReadOnlyCollectionProperties = true }, AttributeLibrary = JsonLibrary.SystemTextJson, AttributeUsage = JsonPropertyAttributeUsage.Always, UsePascalCase = true }; jsonClassGenerator.CodeWriter = csharpCodeWriter; string returnVal = jsonClassGenerator.GenerateClasses(input, out string errorMessage).ToString(); string resultsCompare = File.ReadAllText(resultPath); Assert.AreEqual(expected: resultsCompare.NormalizeOutput(), actual: returnVal.NormalizeOutput()); Assert.AreEqual(expected: string.Empty, errorMessage); } [TestMethod] public void Run2() { string path = Path.Combine(AppContext.BaseDirectory, "Test_11_NoListSetter_INPUT1.txt"); string resultPath = Path.Combine(AppContext.BaseDirectory, "Test_11_NoListSetter_OUTPUT1.txt"); string input = File.ReadAllText(path); CSharpCodeWriter csharpCodeWriter = new(); JsonClassGenerator jsonClassGenerator = new() { MutableClasses = { ReadOnlyCollectionProperties = true }, CollectionType = OutputCollectionType.Array, AttributeLibrary = JsonLibrary.SystemTextJson, AttributeUsage = JsonPropertyAttributeUsage.Always, UsePascalCase = true }; jsonClassGenerator.CodeWriter = csharpCodeWriter; string returnVal = jsonClassGenerator.GenerateClasses(input, out string errorMessage).ToString(); string resultsCompare = File.ReadAllText(resultPath); Assert.AreEqual(expected: resultsCompare.NormalizeOutput(), actual: returnVal.NormalizeOutput()); Assert.AreEqual(string.Empty, errorMessage); } }