public static void NullReferences() { var obj = new ObjectWithObjectProperties(); obj.Address = null; obj.Array = null; obj.List = null; obj.IEnumerableT = null; obj.IListT = null; obj.ICollectionT = null; obj.IReadOnlyCollectionT = null; obj.IReadOnlyListT = null; obj.NullableInt = null; obj.NullableIntArray = null; obj.Object = null; string json = JsonSerializer.ToString(obj); Assert.Contains(@"""Address"":null", json); Assert.Contains(@"""List"":null", json); Assert.Contains(@"""Array"":null", json); Assert.Contains(@"""IEnumerableT"":null", json); Assert.Contains(@"""IListT"":null", json); Assert.Contains(@"""ICollectionT"":null", json); Assert.Contains(@"""IReadOnlyCollectionT"":null", json); Assert.Contains(@"""IReadOnlyListT"":null", json); Assert.Contains(@"""NullableInt"":null", json); Assert.Contains(@"""Object"":null", json); Assert.Contains(@"""NullableIntArray"":null", json); }
public async Task NestedObjectAsRootObject() { void Verify(string json) { Assert.Contains(@"""Address"":{""City"":""MyCity""}", json); Assert.Contains(@"""List"":[""Hello"",""World""]", json); Assert.Contains(@"""Array"":[""Hello"",""Again""]", json); Assert.Contains(@"""IEnumerable"":[""Hello"",""World""]", json); Assert.Contains(@"""IList"":[""Hello"",""World""]", json); Assert.Contains(@"""ICollection"":[""Hello"",""World""]", json); Assert.Contains(@"""IEnumerableT"":[""Hello"",""World""]", json); Assert.Contains(@"""IListT"":[""Hello"",""World""]", json); Assert.Contains(@"""ICollectionT"":[""Hello"",""World""]", json); Assert.Contains(@"""IReadOnlyCollectionT"":[""Hello"",""World""]", json); Assert.Contains(@"""IReadOnlyListT"":[""Hello"",""World""]", json); Assert.Contains(@"""ISetT"":[""Hello"",""World""]", json); Assert.Contains(@"""StackT"":[""World"",""Hello""]", json); Assert.Contains(@"""QueueT"":[""Hello"",""World""]", json); Assert.Contains(@"""HashSetT"":[""Hello"",""World""]", json); Assert.Contains(@"""LinkedListT"":[""Hello"",""World""]", json); Assert.Contains(@"""SortedSetT"":[""Hello"",""World""]", json); Assert.Contains(@"""ImmutableArrayT"":[""Hello"",""World""]", json); Assert.Contains(@"""IImmutableListT"":[""Hello"",""World""]", json); Assert.Contains(@"""IImmutableStackT"":[""World"",""Hello""]", json); Assert.Contains(@"""IImmutableQueueT"":[""Hello"",""World""]", json); Assert.True(json.Contains(@"""IImmutableSetT"":[""Hello"",""World""]") || json.Contains(@"""IImmutableSetT"":[""World"",""Hello""]")); Assert.True(json.Contains(@"""ImmutableHashSetT"":[""Hello"",""World""]") || json.Contains(@"""ImmutableHashSetT"":[""World"",""Hello""]")); Assert.Contains(@"""ImmutableListT"":[""Hello"",""World""]", json); Assert.Contains(@"""ImmutableStackT"":[""World"",""Hello""]", json); Assert.Contains(@"""ImmutableQueueT"":[""Hello"",""World""]", json); Assert.Contains(@"""ImmutableSortedSetT"":[""Hello"",""World""]", json); Assert.Contains(@"""NullableInt"":42", json); Assert.Contains(@"""Object"":{}", json); Assert.Contains(@"""NullableIntArray"":[null,42,null]", json); } // Sanity checks on test type. Assert.Equal(typeof(object), typeof(ObjectWithObjectProperties).GetProperty("Address").PropertyType); Assert.Equal(typeof(object), typeof(ObjectWithObjectProperties).GetProperty("List").PropertyType); Assert.Equal(typeof(object), typeof(ObjectWithObjectProperties).GetProperty("Array").PropertyType); Assert.Equal(typeof(object), typeof(ObjectWithObjectProperties).GetProperty("NullableInt").PropertyType); Assert.Equal(typeof(object), typeof(ObjectWithObjectProperties).GetProperty("NullableIntArray").PropertyType); var obj = new ObjectWithObjectProperties(); string json = await Serializer.SerializeWrapper(obj); Verify(json); json = await Serializer.SerializeWrapper <object>(obj); Verify(json); }
public static void NullReferences() { var obj = new ObjectWithObjectProperties(); obj.Address = null; obj.Array = null; obj.List = null; obj.NullableInt = null; obj.NullableIntArray = null; string json = JsonSerializer.ToString(obj); Assert.Equal(ObjectWithObjectProperties.ExpectedJsonAllNulls, json); }
public static void NestedObjectAsRootObjectIgnoreNullable() { // Ensure that null properties are properly written and support ignore. var obj = new ObjectWithObjectProperties(); obj.NullableInt = null; string json = JsonSerializer.ToString(obj); Assert.Equal(ObjectWithObjectProperties.ExpectedJsonNullInt, json); JsonSerializerOptions options = new JsonSerializerOptions(); options.IgnoreNullPropertyValueOnWrite = true; json = JsonSerializer.ToString(obj, options); Assert.Equal(ObjectWithObjectProperties.ExpectedJsonNullIntIgnoreNulls, json); }
public void NestedObjectAsRootObjectIgnoreNullable() { // Ensure that null properties are properly written and support ignore. var obj = new ObjectWithObjectProperties(); obj.NullableInt = null; string json = Serializer.Serialize(obj); Assert.Contains(@"""NullableInt"":null", json); JsonSerializerOptions options = new JsonSerializerOptions(); options.IgnoreNullValues = true; json = Serializer.Serialize(obj, options); Assert.DoesNotContain(@"""NullableInt"":null", json); }
public static void NestedObjectAsRootObject() { // Sanity checks on test type. Assert.Equal(typeof(object), typeof(ObjectWithObjectProperties).GetProperty("Address").PropertyType); Assert.Equal(typeof(object), typeof(ObjectWithObjectProperties).GetProperty("List").PropertyType); Assert.Equal(typeof(object), typeof(ObjectWithObjectProperties).GetProperty("Array").PropertyType); Assert.Equal(typeof(object), typeof(ObjectWithObjectProperties).GetProperty("NullableInt").PropertyType); Assert.Equal(typeof(object), typeof(ObjectWithObjectProperties).GetProperty("NullableIntArray").PropertyType); var obj = new ObjectWithObjectProperties(); string json = JsonSerializer.ToString(obj); Assert.Equal(ObjectWithObjectProperties.ExpectedJson, json); json = JsonSerializer.ToString <object>(obj); Assert.Equal(ObjectWithObjectProperties.ExpectedJson, json); }
public static void NullReferences() { var obj = new ObjectWithObjectProperties(); obj.Address = null; obj.Array = null; obj.List = null; obj.NullableInt = null; obj.NullableIntArray = null; obj.Object = null; string json = JsonSerializer.ToString(obj); Assert.Contains(@"""Address"":null", json); Assert.Contains(@"""List"":null", json); Assert.Contains(@"""Array"":null", json); Assert.Contains(@"""NullableInt"":null", json); Assert.Contains(@"""Object"":null", json); Assert.Contains(@"""NullableIntArray"":null", json); }