Example #1
0
        public void Should_serialize_fields_json_complex_object_when_valid_fields_parameter_passed()
        {
            var serializableObject = new RootComplexTypes();

            serializableObject.Items.Add(new ComplexTypes
            {
                StringProperty = "string value",
                SimpleTypes    = new SimpleTypes
                {
                    FirstProperty  = "first property value",
                    SecondProperty = "second property value"
                },
                ListOfSimpleTypes = new List <SimpleTypes>()
                {
                    new SimpleTypes()
                    {
                        FirstProperty  = "first property of list value",
                        SecondProperty = "second property of list value"
                    }
                }
            });

            IJsonFieldsSerializer serializer = new JsonFieldsSerializer();

            var json = serializer.Serialize(serializableObject, "string_property, simple_types, list_of_simple_types");
            var serializableObjectFromJson = JsonConvert.DeserializeObject <RootComplexTypes>(json);

            Assert.AreEqual(1, serializableObjectFromJson.Items.Count);
            Assert.AreEqual(1, serializableObjectFromJson.Items[0].ListOfSimpleTypes.Count);
            Assert.AreEqual("string value", serializableObjectFromJson.Items[0].StringProperty);
        }
Example #2
0
        public void Should_serialize_empty_json_complex_object_when_second_level_valid_fields_passed()
        {
            var serializableObject = new RootComplexTypes();

            serializableObject.Items.Add(new ComplexTypes
            {
                StringProperty = "string value",
                SimpleTypes    = new SimpleTypes
                {
                    FirstProperty  = "first property value",
                    SecondProperty = "second property value"
                },
                ListOfSimpleTypes = new List <SimpleTypes>
                {
                    new SimpleTypes
                    {
                        FirstProperty  = "first property of list value",
                        SecondProperty = "second property of list value"
                    }
                }
            });

            IJsonFieldsSerializer serializer = new JsonFieldsSerializer();

            var json = serializer.Serialize(serializableObject, "first_property");
            var serializableObjectFromJson = JsonConvert.DeserializeObject <RootComplexTypes>(json);

            Assert.AreEqual(0, serializableObjectFromJson.Items.Count);
        }
Example #3
0
        public void Should_serialize_fields_json_complex_object_empty_list_when_valid_fields_parameter_passed()
        {
            var serializableObject = new RootComplexTypes();

            serializableObject.Items.Add(new ComplexTypes
            {
                ListOfSimpleTypes = new List <SimpleTypes>()
            });

            IJsonFieldsSerializer serializer = new JsonFieldsSerializer();

            var json = serializer.Serialize(serializableObject, "list_of_simple_types");
            var serializableObjectFromJson = JsonConvert.DeserializeObject <RootComplexTypes>(json);

            Assert.AreEqual(1, serializableObjectFromJson.Items.Count);
            Assert.AreEqual(0, serializableObjectFromJson.Items[0].ListOfSimpleTypes.Count);
        }