public void FromJsonToInt()
        {
            JsonEnumConverter converter = new JsonEnumConverter(JsonEnumConverterType.UseInderlayingValue);

            object value;

            Assert.AreEqual(true, converter.TryConvert(typeof(JToken), typeof(ListSortDirection), new JValue((int)ListSortDirection.Descending), out value));
            Assert.AreEqual(ListSortDirection.Descending, value);
        }
        public void FromJsonToNullableInt()
        {
            JsonEnumConverter converter = new JsonEnumConverter(JsonEnumConverterType.UseInderlayingValue);

            object value;

            Assert.AreEqual(true, converter.TryConvert(typeof(JToken), typeof(ListSortDirection?), new JValue((object)null), out value));
            Assert.AreEqual(null, value);
        }
        public void FromNullableIntToJson()
        {
            JsonEnumConverter converter = new JsonEnumConverter(JsonEnumConverterType.UseInderlayingValue);
            ListSortDirection?direction = ListSortDirection.Descending;

            object value;

            Assert.AreEqual(true, converter.TryConvert(typeof(ListSortDirection?), typeof(JToken), direction, out value));
            Assert.IsInstanceOfType(value, typeof(JToken));

            JValue jValue = (JValue)value;

            Assert.AreEqual(JTokenType.Integer, jValue.Type);
            Assert.AreEqual((long)ListSortDirection.Descending, jValue.Value);

            Assert.AreEqual(true, converter.TryConvert(typeof(ListSortDirection?), typeof(JToken), null, out value));
            Assert.AreEqual(null, value);
        }