public void RemoveConversionToSelf_DoesNotRemoveUnrelatedCasts()
        {
            Expression <Func <Entity, object> > baseExpression = e => (object)e.Id;

            TestContext.WriteLine(baseExpression.ToString());

            var convertedExpression = baseExpression.RemoveConversionToSelf();

            TestContext.WriteLine(convertedExpression.ToString());

            var visitor = new CountConvertVisitor();

            visitor.Visit(convertedExpression);
            Assert.AreEqual(1, visitor.Count);
        }
        public void RemoveConversionToSelf_DoesNotRemoveRequiredCasts()
        {
            var baseExpression = MakeOtherIdAccessExpression <Entity>();

            TestContext.WriteLine(baseExpression.ToString());

            var convertedExpression = baseExpression.RemoveConversionToSelf();

            TestContext.WriteLine(convertedExpression.ToString());

            var visitor = new CountConvertVisitor();

            visitor.Visit(convertedExpression);
            Assert.AreEqual(1, visitor.Count);
        }