[System.Core] Linker friendly test update
authorMarek Safar <marek.safar@gmail.com>
Tue, 4 Apr 2017 08:50:56 +0000 (10:50 +0200)
committerMarek Safar <marek.safar@gmail.com>
Tue, 4 Apr 2017 08:50:56 +0000 (10:50 +0200)
mcs/class/System.Core/Test/System.Linq.Expressions/ExpressionTest_Loop.cs

index 1b254ef457aaafbfafc0ed3f47d6125193c503ba..ae456c5a3e5dc71b4825183ecf4752485336c34e 100644 (file)
@@ -36,46 +36,50 @@ using NUnit.Framework;
 namespace MonoTests.System.Linq.Expressions {
 
        [TestFixture]
-       public class ExpressionTest_Loop {
+       public class ExpressionTest_Loop
+       {
+               public static void Print (int arg)
+               {
+               }
 
                [Test]
                public void ComplexTest ()
                {
-            var breakLabel = Expression.Label ("LoopBreak");
-            var counter = Expression.Variable (typeof (int), "counter");
+                       var breakLabel = Expression.Label ("LoopBreak");
+                       var counter = Expression.Variable (typeof (int), "counter");
 
-            var l = Expression.Block (new[] { counter },
-                Expression.Assign (counter, Expression.Constant (-1)),
-                Expression.Loop (
-                Expression.Block (Expression.IfThenElse (
-                    Expression.Equal (Expression.Assign (counter, Expression.Add (counter, Expression.Constant (1))), Expression.Constant (1000)),
-                    Expression.Block (Expression.Break (breakLabel)),
-                    Expression.Call (null, typeof (Console).GetMethod ("WriteLine", new Type[] { typeof (int) }), counter)
-                )),
-                breakLabel)
-           );
+                       var l = Expression.Block (new[] { counter },
+                               Expression.Assign (counter, Expression.Constant (-1)),
+                               Expression.Loop (
+                               Expression.Block (Expression.IfThenElse (
+                                       Expression.Equal (Expression.Assign (counter, Expression.Add (counter, Expression.Constant (1))), Expression.Constant (1000)),
+                                       Expression.Block (Expression.Break (breakLabel)),
+                                       Expression.Call (null, typeof (ExpressionTest_Loop).GetMethod ("Print", new Type[] { typeof (int) }), counter)
+                               )),
+                               breakLabel)
+                  );
 
-            var res = Expression.Lambda<Action> (l).Compile ();
-        }
+                       var res = Expression.Lambda<Action> (l).Compile ();
+               }
 
                [Test]
                public void ComplexTest_2 ()
                {
-            var breakLabel = Expression.Label ("LoopBreak");
-            var counter = Expression.Variable (typeof (int), "counter");
+                       var breakLabel = Expression.Label ("LoopBreak");
+                       var counter = Expression.Variable (typeof (int), "counter");
 
-            var l = Expression.Block (new[] { counter },
-                Expression.Assign (counter, Expression.Constant(-1)),
-                Expression.Loop (
-                Expression.IfThenElse (
-                    Expression.Equal (Expression.Assign (counter, Expression.Add (counter, Expression.Constant (1))), Expression.Constant (1000)),
-                    Expression.Break (breakLabel),
-                    Expression.Call (null, typeof (Console).GetMethod ("WriteLine", new Type[] { typeof (int) }), counter)
-                ),
-                breakLabel)
-           );
+                       var l = Expression.Block (new[] { counter },
+                               Expression.Assign (counter, Expression.Constant(-1)),
+                               Expression.Loop (
+                               Expression.IfThenElse (
+                                       Expression.Equal (Expression.Assign (counter, Expression.Add (counter, Expression.Constant (1))), Expression.Constant (1000)),
+                                       Expression.Break (breakLabel),
+                                       Expression.Call (null, typeof (ExpressionTest_Loop).GetMethod ("Print", new Type[] { typeof (int) }), counter)
+                               ),
+                               breakLabel)
+                  );
 
-            var res = Expression.Lambda<Action> (l).Compile ();
+                       var res = Expression.Lambda<Action> (l).Compile ();
                }
        }
 }