public void ShouldTranslateADecrementExpression()
        {
            var intVariable = Expression.Variable(typeof(int), "i");
            var decrement   = Expression.Decrement(intVariable);

            var translated = ToReadableString(decrement);

            translated.ShouldBe("--i");
        }
        public void ShouldTranslateAVariableBlockLambdaWithNoReturnValue()
        {
            var countVariable    = Expression.Variable(typeof(short), "count");
            var assignTenToCount = Expression.Assign(countVariable, Expression.Constant((short)10));
            var decrementCount   = Expression.Decrement(countVariable);

            var countBlock = Expression.Block(
                new[] { countVariable },
                assignTenToCount,
                decrementCount);

            var countLambda = Expression.Lambda <Action>(countBlock);

            var translated = ToReadableString(countLambda);

            const string EXPECTED = @"() =>
{
    var count = 10;
    --count;
}";

            translated.ShouldBe(EXPECTED.TrimStart());
        }