Beispiel #1
0
        public static string ToJson <T>(T target, IObjectConverter <T> converter)
        {
            Guarder.CheckNull(converter, "converter");
            Guarder.CheckNull(target, "target");
            var value = converter.Convert(target);

            return(value.ToString());
        }
        public void ObjectToHtmlConversionTest()
        {
            var conversionResult = _objectConverter.Convert(_post);

            Assert.AreEqual(conversionResult.ConversionResultStatus, ConversionResultStatus.Ok);
            Assert.AreEqual(Regex.Replace(Regex.Replace(conversionResult.ResultString, @"\r\n?|\n", ""), @"\s+", ""),
                            Regex.Replace(Regex.Replace(_objectAsHtmlString, @"\r\n?|\n", ""), @"\s+", ""));
        }
Beispiel #3
0
 protected override void Context()
 {
     base.Context();
     _individual = A.Fake <Individual>();
     _converter  = A.Fake <IObjectConverter>();
     A.CallTo(() => _xmlReaderIndividual.ReadFrom(A <XElement> ._, _serializationContext)).Returns(_individual);
     A.CallTo(() => _objectConverterFinder.FindConverterFor(ProjectVersions.V5_0_1)).Returns(_converter);
     _element = new XElement("Individual");
     _element.AddAttribute(CoreConstants.Serialization.Attribute.XmlVersion, ProjectVersions.V5_0_1.VersionAsString);
     A.CallTo(() => _converter.Convert(_individual, ProjectVersions.V5_0_1)).Returns(ProjectVersions.Current);
     A.CallTo(() => _converter.ConvertXml(A <XElement> ._, ProjectVersions.V5_0_1)).Returns(ProjectVersions.Current);
 }
Beispiel #4
0
        public async Task <InstaUser> GetUserAsync(string username)
        {
            string userUrl = $"{InstaApiConstants.INSTAGRAM_URL}{username}{InstaApiConstants.GET_ALL_POSTFIX}";
            IObjectConverter <InstaUser, InstaResponseUser> converter = null;
            var stream = await _httpClient.GetStreamAsync(userUrl);

            using (var reader = new StreamReader(stream))
            {
                var json          = reader.ReadToEnd();
                var root          = JObject.Parse(json);
                var userObject    = root["user"];
                var instaresponse = JsonConvert.DeserializeObject <InstaResponseUser>(userObject.ToString());
                converter = ConvertersFabric.GetUserConverter(instaresponse);
            }
            return(converter.Convert());
        }
Beispiel #5
0
        private object CreateInstanceViaConstructorAndRemoveUsedValues(
            ConstructorInfo constructor,
            Dictionary <string, object> valuesMap,
            Dictionary <string, string> alternativeParameterNamesMap)
        {
            object[] arguments = constructor.GetParameters()
                                 .Select(parameter =>
            {
                KeyValuePair <string, object> valuePair = RetrievePairByName(valuesMap, alternativeParameterNamesMap, parameter);

                valuesMap.Remove(valuePair.Key);

                return(objectConverter.Convert(valuePair.Value, parameter.ParameterType));
            })
                                 .ToArray();

            return(constructor.Invoke(arguments));
        }
Beispiel #6
0
        private void Map(string propertyName, object propertyValue, object destination, Type destinationType)
        {
            PropertyInfo property = destinationType.GetProperty(
                propertyName,
                BindingFlags.SetProperty | BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.IgnoreCase);

            if (property == null)
            {
                throw new MappingException(
                          BuildMappingExceptionMessage(destinationType, propertyName, "Property is not found."));
            }

            if (!property.CanWrite)
            {
                throw new MappingException(
                          BuildMappingExceptionMessage(destinationType, property.Name, "Property cannot be set."));
            }

            Type propertyValueType      = propertyValue?.GetType();
            Type propertyType           = property.PropertyType;
            Type underlyingPropertyType = Nullable.GetUnderlyingType(propertyType) ?? propertyType;

            try
            {
                object valueToSet = _objectConverter.Convert(propertyValue, underlyingPropertyType);

                property.SetValue(destination, valueToSet, null);
            }
            catch (Exception exception)
            {
                string additionalMessage = propertyValue == null
                    ? $"Property null value cannot be converted to {propertyType} type."
                    : $"Property \"{propertyValue}\" value of {propertyValueType} type cannot be converted to {propertyType} type.";

                throw new MappingException(
                          BuildMappingExceptionMessage(destinationType, property.Name, additionalMessage),
                          exception);
            }
        }
Beispiel #7
0
 public void should_have_retrieved_a_converter_for_the_individual_and_convert_the_new_individual()
 {
     A.CallTo(() => _converter.Convert(_individual, ProjectVersions.V5_0_1)).MustHaveHappened();
 }
Beispiel #8
0
        private static TResult ConvertResult <TResult>(object result)
        {
            IObjectConverter objectConverter = AtataContext.Current?.ObjectConverter ?? new ObjectConverter();

            return((TResult)objectConverter.Convert(result, typeof(TResult)));
        }
        private TResult ConvertResult <TResult>(object result)
        {
            IObjectConverter objectConverter = Component.Context.ObjectConverter;

            return((TResult)objectConverter.Convert(result, typeof(TResult)));
        }
Beispiel #10
0
 public long SmartIntToLong() => Converter.Convert <long>(IntValue);
Beispiel #11
0
 public IJsonObjectMapper <T> SerializeBy(IObjectConverter <T> converter)
 {
     mapper.Serializer = x => converter.Convert((T)x);
     return(this);
 }