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 static void RoundTripCampaignSummaryViewModel() { CampaignSummaryViewModel expected = CreateCampaignSummaryViewModel(); string json = JsonSerializer.Serialize(expected, JsonContext.Default.CampaignSummaryViewModel); CampaignSummaryViewModel obj = JsonSerializer.Deserialize(json, JsonContext.Default.CampaignSummaryViewModel); VerifyCampaignSummaryViewModel(expected, obj); }
private static void VerifyCampaignSummaryViewModel(CampaignSummaryViewModel expected, CampaignSummaryViewModel obj) { Assert.Equal(expected.Description, obj.Description); Assert.Equal(expected.Headline, obj.Headline); Assert.Equal(expected.Id, obj.Id); Assert.Equal(expected.ImageUrl, obj.ImageUrl); Assert.Equal(expected.OrganizationName, obj.OrganizationName); Assert.Equal(expected.Title, obj.Title); }
public override void RoundTripCampaignSummaryViewModel() { CampaignSummaryViewModel expected = CreateCampaignSummaryViewModel(); string json = JsonSerializer.Serialize(expected, DefaultContext.CampaignSummaryViewModel); JsonTestHelper.AssertThrows_PropMetadataInit(() => JsonSerializer.Deserialize(json, DefaultContext.CampaignSummaryViewModel), typeof(CampaignSummaryViewModel)); CampaignSummaryViewModel obj = JsonSerializer.Deserialize(json, ((ITestContext)MetadataWithPerTypeAttributeContext.Default).CampaignSummaryViewModel); VerifyCampaignSummaryViewModel(expected, obj); AssertFastPathLogicCorrect(json, obj, DefaultContext.CampaignSummaryViewModel); }
public static void SerializeObjectArray() { IndexViewModel index = CreateIndexViewModel(); CampaignSummaryViewModel campaignSummary = CreateCampaignSummaryViewModel(); string json = JsonSerializer.Serialize(new object[] { index, campaignSummary }, JsonContext.Default.ObjectArray); object[] arr = JsonSerializer.Deserialize(json, JsonContext.Default.ObjectArray); JsonElement indexAsJsonElement = (JsonElement)arr[0]; JsonElement campaignSummeryAsJsonElement = (JsonElement)arr[1]; VerifyIndexViewModel(index, JsonSerializer.Deserialize(indexAsJsonElement.GetRawText(), JsonContext.Default.IndexViewModel)); VerifyCampaignSummaryViewModel(campaignSummary, JsonSerializer.Deserialize(campaignSummeryAsJsonElement.GetRawText(), JsonContext.Default.CampaignSummaryViewModel)); }
public override void SerializeObjectArray() { IndexViewModel index = CreateIndexViewModel(); CampaignSummaryViewModel campaignSummary = CreateCampaignSummaryViewModel(); string json = JsonSerializer.Serialize(new object[] { index, campaignSummary }, DefaultContext.ObjectArray); object[] arr = JsonSerializer.Deserialize(json, ((ITestContext)MetadataWithPerTypeAttributeContext.Default).ObjectArray); JsonElement indexAsJsonElement = (JsonElement)arr[0]; JsonElement campaignSummeryAsJsonElement = (JsonElement)arr[1]; VerifyIndexViewModel(index, JsonSerializer.Deserialize(indexAsJsonElement.GetRawText(), ((ITestContext)MetadataWithPerTypeAttributeContext.Default).IndexViewModel)); VerifyCampaignSummaryViewModel(campaignSummary, JsonSerializer.Deserialize(campaignSummeryAsJsonElement.GetRawText(), ((ITestContext)MetadataWithPerTypeAttributeContext.Default).CampaignSummaryViewModel)); }
public static void SerializeObjectArray_WithCustomOptions() { IndexViewModel index = CreateIndexViewModel(); CampaignSummaryViewModel campaignSummary = CreateCampaignSummaryViewModel(); JsonSerializerOptions options = new() { PropertyNamingPolicy = JsonNamingPolicy.CamelCase }; JsonContext context = new(options); string json = JsonSerializer.Serialize(new object[] { index, campaignSummary }, context.ObjectArray); object[] arr = JsonSerializer.Deserialize(json, context.ObjectArray); JsonElement indexAsJsonElement = (JsonElement)arr[0]; JsonElement campaignSummeryAsJsonElement = (JsonElement)arr[1]; VerifyIndexViewModel(index, JsonSerializer.Deserialize(indexAsJsonElement.GetRawText(), context.IndexViewModel)); VerifyCampaignSummaryViewModel(campaignSummary, JsonSerializer.Deserialize(campaignSummeryAsJsonElement.GetRawText(), context.CampaignSummaryViewModel)); }
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)); }