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>());
        }
Example #3
0
 /// <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));
 }
Example #4
0
 /// <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));
 }