public void Test012()
        {
            var xpr = new ExpressionReader();

            var expr = Expression.Convert(Expression.Default(typeof(int)), typeof(decimal));

            var result = xpr.GetTrueUnderlyingType(expr);

            Assert.AreEqual(result, typeof(int));
        }
        public void Test011()
        {
            var xpr = new ExpressionReader();

            var expr = Expression.UnaryPlus(Expression.Default(typeof(int)));

            var result = xpr.GetTrueUnderlyingType(expr);

            Assert.AreEqual(result, typeof(int));
        }
        public void Test013()
        {
            var xpr = new ExpressionReader();
            var xcr = new ExpressionComparer();

            var expr = Expression.Convert(
                Expression.Convert(
                    Expression.Default(typeof(int)),
                    typeof(decimal)),
                typeof(long)
            );

            var result = xpr.GetTrueUnderlyingType(expr);

            Assert.AreEqual(result, typeof(int));
        }
        public void Test011()
        {
            var xpr = new ExpressionReader();

            var expr = Expression.UnaryPlus(Expression.Default(typeof(int)));

            var result = xpr.GetTrueUnderlyingType(expr);

            Assert.AreEqual(result, typeof(int));
        }