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