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()); }