public void ConvertTypeWithCustomConverter() { RedisValueConverter.RegisterConverter(new MockCustomerConverter()); RedisValue redisVal; Guid guid = Convert(Guid.NewGuid(), out redisVal); Assert.AreEqual(MockCustomerConverter.MockGuidValue, guid); Assert.AreEqual(MockCustomerConverter.MockRedisValue, redisVal); RedisValueConverter.UnregisterConverter <Guid>(); }
public void CheckConvertable() { RedisValueConverter.RegisterConverter(typeof(object), new MockCustomerConverter()); Assert.IsTrue(RedisValueConverter.IsConvertable <int>()); Assert.IsTrue(RedisValueConverter.IsConvertable <int?>()); Assert.IsTrue(RedisValueConverter.IsConvertable <TestEnum>()); Assert.IsTrue(RedisValueConverter.IsConvertable <TestEnum?>()); Assert.IsTrue(RedisValueConverter.IsConvertable <object>()); RedisValueConverter.UnregisterConverter <object>(); Assert.IsFalse(RedisValueConverter.IsConvertable <object>()); }
/// <summary> /// Convert object to RedisValue if supported /// </summary> /// <param name="value">object to convert</param> /// <param name="provider">optional provider controls how value is converted</param> /// <returns>RedisValue contains content of the object</returns> /// <exception cref="OhmSharpConvertionException">throw if convertion failed</exception> public static RedisValue ToRedisValue(this object value, IFormatProvider provider = null) { return(RedisValueConverter.ConvertTo(value, value.GetType(), provider)); }
/// <summary> /// Convert RedisValue to type <typeparamref name="T"/> /// </summary> /// <typeparam name="T">type of object to return</typeparam> /// <param name="value">RedisValue to convert</param> /// <param name="provider">optional provider controls how value is converted</param> /// <returns>object contained in the RedisValue</returns> /// <exception cref="OhmSharpConvertionException">throw if convertion failed</exception> public static T To <T>(this RedisValue value, IFormatProvider provider = null) { return(RedisValueConverter.ConvertFrom <T>(value, provider)); }
private T Convert <T>(T origin, out RedisValue redisVal) { redisVal = RedisValueConverter.ConvertTo(origin); return(RedisValueConverter.ConvertFrom <T>(redisVal)); }
public void ConvertTypeUnregisteredShouldThrow() { Assert.ThrowsException <OhmSharpConvertionException>(() => RedisValueConverter.ConvertTo(new object())); Assert.ThrowsException <OhmSharpConvertionException>(() => RedisValueConverter.ConvertFrom <object>(RedisValue.EmptyString)); }