public void ShouldTranslateAnAdditionAssignment()
        {
            var intVariable     = Expression.Variable(typeof(int), "i");
            var addOneAndAssign = Expression.AddAssign(intVariable, Expression.Constant(1));

            var translated = ToReadableString(addOneAndAssign);

            translated.ShouldBe("i += 1");
        }
        public void ShouldTranslateAMultipleAccessVariableBlockWithNoReturnValue()
        {
            var countVariable    = Expression.Variable(typeof(ulong), "count");
            var assignTenToCount = Expression.Assign(countVariable, Expression.Constant((ulong)10));
            var addTwoToCount    = Expression.AddAssign(countVariable, Expression.Constant((ulong)2));

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

            var translated = ToReadableString(countBlock);

            const string EXPECTED = @"
var count = 10;
count += 2;";

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