public void WhenInValidFieldsParameterPassed_ShouldSerializeTheseFieldsJson_ComplexDummyObject() { var complexDummySerializableObject = new SerializableDummyObjectWithComplexTypes(); complexDummySerializableObject.Items.Add(new DummyObjectWithComplexTypes { StringProperty = "string value", DummyObjectWithSimpleTypes = new DummyObjectWithSimpleTypes { FirstProperty = "first property value", SecondProperty = "second property value" }, ListOfDummyObjectWithSimpleTypes = new List <DummyObjectWithSimpleTypes> { new DummyObjectWithSimpleTypes() { FirstProperty = "first property of list value", SecondProperty = "second property of list value" } } }); // Arange IJsonFieldsSerializer cut = new JsonFieldsSerializer(); // Act string json = cut.Serialize(complexDummySerializableObject, "invalid field"); // Assert SerializableDummyObjectWithComplexTypes complexDummySerializableObjectFromJson = JsonConvert.DeserializeObject <SerializableDummyObjectWithComplexTypes>(json); Assert.AreEqual(0, complexDummySerializableObjectFromJson.Items.Count); }
public void WhenValidFieldsParameterPassed_ShouldSerializeTheseFieldsJson_ComplexDummyObjectEmptyList() { var complexDummySerializableObject = new SerializableDummyObjectWithComplexTypes(); complexDummySerializableObject.Items.Add(new DummyObjectWithComplexTypes { ListOfDummyObjectWithSimpleTypes = new List <DummyObjectWithSimpleTypes>() }); // Arange IJsonFieldsSerializer cut = new JsonFieldsSerializer(); // Act string json = cut.Serialize(complexDummySerializableObject, "list_of_dummy_object_with_simple_types"); // Assert SerializableDummyObjectWithComplexTypes complexDummySerializableObjectFromJson = JsonConvert.DeserializeObject <SerializableDummyObjectWithComplexTypes>(json); Assert.AreEqual(1, complexDummySerializableObjectFromJson.Items.Count); Assert.AreEqual(0, complexDummySerializableObjectFromJson.Items[0].ListOfDummyObjectWithSimpleTypes.Count); }