Add extra unit test test to CSharpFormatterTests

This commit is contained in:
Stef Heyenrath
2025-05-22 08:14:45 +02:00
parent b4279be3cb
commit 17545da2c3
2 changed files with 19 additions and 4 deletions

View File

@@ -97,13 +97,14 @@ internal static class CSharpFormatter
}); });
#endregion #endregion
public static object ConvertToAnonymousObjectDefinition(object jsonBody, int ind = 2) public static string ConvertToAnonymousObjectDefinition(object jsonBody, int ind = 1)
{ {
var serializedBody = JsonConvert.SerializeObject(jsonBody); var serializedBody = JsonConvert.SerializeObject(jsonBody);
using var jsonReader = new JsonTextReader(new StringReader(serializedBody)); using var jsonReader = new JsonTextReader(new StringReader(serializedBody));
jsonReader.DateParseHandling = DateParseHandling.None; jsonReader.DateParseHandling = DateParseHandling.None;
var deserializedBody = JToken.Load(jsonReader);
var deserializedBody = JToken.Load(jsonReader);
return ConvertJsonToAnonymousObjectDefinition(deserializedBody, ind); return ConvertJsonToAnonymousObjectDefinition(deserializedBody, ind);
} }

View File

@@ -10,11 +10,25 @@ namespace WireMock.Net.Tests.Util;
public class CSharpFormatterTests public class CSharpFormatterTests
{ {
[Fact] [Fact]
public void ConvertToAnonymousObjectDefinition_ShouldReturn_ValidValue_WhenJsonBodyIsValidJsonString() public void ConvertToAnonymousObjectDefinition_ShouldReturn_ValidValue_WhenJsonBodyIsValidJsonAsObjectString()
{ {
// Arrange // Arrange
var jsonBody = new { Key1 = "value1", Key2 = 42, F = 1.2 }; var jsonBody = new { Key1 = "value1", Key2 = 42, F = 1.2 };
var expectedOutput = "new\r\n {\r\n Key1 = \"value1\",\r\n Key2 = 42,\r\n F = 1.2\r\n }"; var expectedOutput = "new\r\n {\r\n Key1 = \"value1\",\r\n Key2 = 42,\r\n F = 1.2\r\n }";
// Act
var result = CSharpFormatter.ConvertToAnonymousObjectDefinition(jsonBody);
// Assert
result.Should().Be(expectedOutput);
}
[Fact]
public void ConvertToAnonymousObjectDefinition_ShouldReturn_ValidValue_WhenJsonBodyIsValidJsonAsArrayString()
{
// Arrange
var jsonBody = new[] { new { test = "a" }, new { test = "b" } };
var expectedOutput = "new []\r\n {\r\n new\r\n {\r\n test = \"a\"\r\n },\r\n new\r\n {\r\n test = \"b\"\r\n }\r\n }";
// Act // Act
var result = CSharpFormatter.ConvertToAnonymousObjectDefinition(jsonBody); var result = CSharpFormatter.ConvertToAnonymousObjectDefinition(jsonBody);