public override void SerializeObjectArray_WithCustomOptions() { IndexViewModel index = CreateIndexViewModel(); CampaignSummaryViewModel campaignSummary = CreateCampaignSummaryViewModel(); ITestContext context = SerializationContextWithCamelCase.Default; Assert.Same(JsonNamingPolicy.CamelCase, ((JsonSerializerContext)context).Options.PropertyNamingPolicy); string json = JsonSerializer.Serialize(new object[] { index, campaignSummary }, context.ObjectArray); // Verify JSON was written with camel casing. Assert.Contains("activeOrUpcomingEvents", json); Assert.Contains("featuredCampaign", json); Assert.Contains("description", json); Assert.Contains("organizationName", json); object[] arr = JsonSerializer.Deserialize(json, ((ITestContext)MetadataWithPerTypeAttributeContext.Default).ObjectArray); JsonElement indexAsJsonElement = (JsonElement)arr[0]; JsonElement campaignSummeryAsJsonElement = (JsonElement)arr[1]; ITestContext metadataContext = new MetadataContext(new JsonSerializerOptions { PropertyNamingPolicy = JsonNamingPolicy.CamelCase }); VerifyIndexViewModel(index, JsonSerializer.Deserialize(indexAsJsonElement.GetRawText(), metadataContext.IndexViewModel)); VerifyCampaignSummaryViewModel(campaignSummary, JsonSerializer.Deserialize(campaignSummeryAsJsonElement.GetRawText(), metadataContext.CampaignSummaryViewModel)); }
public void OnSerializeCallbacks_WithCustomOptions() { MyTypeWithCallbacks obj = new(); Assert.Null(obj.MyProperty); ITestContext context = SerializationContextWithCamelCase.Default; Assert.Same(JsonNamingPolicy.CamelCase, ((JsonSerializerContext)context).Options.PropertyNamingPolicy); string json = JsonSerializer.Serialize(obj, context.MyTypeWithCallbacks); Assert.Equal("{\"myProperty\":\"Before\"}", json); Assert.Equal("After", obj.MyProperty); context = new MetadataContext(new JsonSerializerOptions { PropertyNamingPolicy = JsonNamingPolicy.CamelCase }); json = JsonSerializer.Serialize(obj, context.MyTypeWithCallbacks); Assert.Equal("{\"myProperty\":\"Before\"}", json); Assert.Equal("After", obj.MyProperty); }
public override void SerializeObjectArray_WithCustomOptions() { IndexViewModel index = CreateIndexViewModel(); CampaignSummaryViewModel campaignSummary = CreateCampaignSummaryViewModel(); ITestContext context = SerializationContextWithCamelCase.Default; Assert.Same(JsonNamingPolicy.CamelCase, ((JsonSerializerContext)context).Options.PropertyNamingPolicy); string json = JsonSerializer.Serialize(new object[] { index, campaignSummary }, context.ObjectArray); object[] arr = JsonSerializer.Deserialize(json, ((ITestContext)MetadataContext.Default).ObjectArray); JsonElement indexAsJsonElement = (JsonElement)arr[0]; JsonElement campaignSummeryAsJsonElement = (JsonElement)arr[1]; ITestContext metadataContext = new MetadataContext(new JsonSerializerOptions { PropertyNamingPolicy = JsonNamingPolicy.CamelCase }); VerifyIndexViewModel(index, JsonSerializer.Deserialize(indexAsJsonElement.GetRawText(), metadataContext.IndexViewModel)); VerifyCampaignSummaryViewModel(campaignSummary, JsonSerializer.Deserialize(campaignSummeryAsJsonElement.GetRawText(), metadataContext.CampaignSummaryViewModel)); }