// ReSharper disable once UnusedParameter.Local
 private void AssertForDeserialized(ISerializerAdapter adapter, string valueInJson, string valueInXml, Action<IDictionary<string, object>> assert)
 {
     var deserialized = adapter.DeserializeJsonOrXml<RootClassWithSingleProperty<IDictionary<string, object>>>(
         "{ \"Value\": " + valueInJson + " }",
         "<Root><Value>" + valueInXml + "</Value></Root>"
     );
     assert(deserialized.Value);
 }
Beispiel #2
0
        // ReSharper disable once UnusedParameter.Local
        private void AssertCanBeDeserialized <T>(ISerializerAdapter adapter, string valueInJson, string valueInXml, T expected)
        {
            var deserialized = adapter.DeserializeJsonOrXml <RootClassWithSingleProperty <T> >(
                "{ \"Value\": " + valueInJson + " }",
                "<Root><Value>" + valueInXml + "</Value></Root>"
                );

            Assert.Equal(expected, deserialized.Value);
        }
Beispiel #3
0
        // ReSharper disable once UnusedParameter.Local
        private void AssertCanBeRoundtripped<TPropertyType, TActualType>(ISerializerAdapter adapter, TActualType value)
            where TActualType : TPropertyType, new()
        {
            var serialized = adapter.SerializeJsonOrXml(new RootClassWithSingleReadOnlyProperty<TPropertyType, TActualType>(value));
            Debug.WriteLine("Serialized:\r\n" + serialized);
            var deserialized = adapter.DeserializeJsonOrXml<RootClassWithSingleReadOnlyProperty<TPropertyType, TActualType>>(serialized, serialized);

            Assert.Equal(value, deserialized.Value);
        }
        private void AssertForDeserializedRoundtrip(ISerializerAdapter adapter, IDictionary <string, object> value, Action <IDictionary <string, object> > assert)
        {
            var serialized = adapter.SerializeJsonOrXml(new RootClassWithSingleProperty <IDictionary <string, object> > {
                Value = value
            });
            var deserialized = adapter.DeserializeJsonOrXml <RootClassWithSingleProperty <IDictionary <string, object> > >(serialized, serialized);

            assert(deserialized.Value);
        }
        // ReSharper disable once UnusedParameter.Local
        private void AssertForDeserialized(ISerializerAdapter adapter, string valueInJson, string valueInXml, Action <IDictionary <string, object> > assert)
        {
            var deserialized = adapter.DeserializeJsonOrXml <RootClassWithSingleProperty <IDictionary <string, object> > >(
                "{ \"Value\": " + valueInJson + " }",
                "<Root><Value>" + valueInXml + "</Value></Root>"
                );

            assert(deserialized.Value);
        }
        // ReSharper disable once UnusedParameter.Local
        private void AssertCanBeRoundtripped <T>(ISerializerAdapter adapter, T instance, Action <T> assertExtra = null)
        {
            var serialized = adapter.SerializeJsonOrXml(instance);

            Debug.WriteLine("Serialized: " + serialized);
            var deserialized = adapter.DeserializeJsonOrXml <T>(serialized, serialized);

            Assert.Equal(instance, deserialized);
            if (assertExtra != null)
            {
                assertExtra(deserialized);
            }
        }
 // ReSharper disable once UnusedParameter.Local
 private void AssertForDeserialized(ISerializerAdapter adapter, string valueInJson, string valueInXml, Action<dynamic> assert)
 {
     var deserialized = adapter.DeserializeJsonOrXml<RootClassWithSingleProperty<dynamic>>(
         "{ \"Value\": " + valueInJson + " }",
         "<Root><Value>" + valueInXml + "</Value></Root>"
     );
     if (deserialized.Value != null) {
         Debug.WriteLine("Actual type of deserialized value: " + ((object)deserialized.Value).GetType());
     }
     else {
         Debug.WriteLine("Deserialized value is null.");
     }
     assert(deserialized.Value);
 }
Beispiel #8
0
        // ReSharper disable once UnusedParameter.Local
        private void AssertForDeserialized(ISerializerAdapter adapter, string valueInJson, string valueInXml, Action <dynamic> assert)
        {
            var deserialized = adapter.DeserializeJsonOrXml <RootClassWithSingleProperty <dynamic> >(
                "{ \"Value\": " + valueInJson + " }",
                "<Root><Value>" + valueInXml + "</Value></Root>"
                );

            if (deserialized.Value != null)
            {
                Debug.WriteLine("Actual type of deserialized value: " + ((object)deserialized.Value).GetType());
            }
            else
            {
                Debug.WriteLine("Deserialized value is null.");
            }
            assert(deserialized.Value);
        }
Beispiel #9
0
        // ReSharper disable once UnusedParameter.Local
        private void AssertCanBeDeserialized <TCollection>(ISerializerAdapter adapter, string valueInJson, TCollection expected)
            where TCollection : IEnumerable
        {
            var serialized = adapter.SerializeJsonOrXml(new RootClassWithSingleProperty <TCollection> {
                Value = expected
            });

            Debug.WriteLine("Expected by serializer:\r\n" + serialized);
            // since there is no standard way to represent lists in XML, it just tests roundtrip
            var deserialized = adapter.DeserializeJsonOrXml <RootClassWithSingleProperty <TCollection> >(
                "{ \"Value\": " + valueInJson + " }",
                serialized
                );

            Assert.Equal(
                expected.Cast <object>().ToArray(),
                deserialized.Value.Cast <object>().ToArray()
                );
        }
Beispiel #10
0
 public static T DeserializeJsonOrXml <T>(this ISerializerAdapter adapter, string json, string xml)
 {
     return((T)adapter.DeserializeJsonOrXml(typeof(T), json, xml));
 }
 private void AssertForDeserializedRoundtrip(ISerializerAdapter adapter, IDictionary<string, object> value, Action<IDictionary<string, object>> assert)
 {
     var serialized = adapter.SerializeJsonOrXml(new RootClassWithSingleProperty<IDictionary<string, object>> { Value = value });
     var deserialized = adapter.DeserializeJsonOrXml<RootClassWithSingleProperty<IDictionary<string, object>>>(serialized, serialized);
     assert(deserialized.Value);
 }