Merge pull request #1502 from madrang/SafeHandle.CloseTestDispose
[mono.git] / mcs / class / System.Runtime.Remoting / Test / DelegateCalls.cs
index 7655ea93c622f62323b23b149c67e0dfae6c57b5..f21da9788f3161f15f448f1b6bc2e2097a31012a 100644 (file)
@@ -1,5 +1,5 @@
 //
-// MonoTests.System.Runtime.Remoting.DelegateCalls.cs
+// MonoTests.Remoting.DelegateCalls.cs
 //
 // Author: Lluis Sanchez Gual (lluis@ximian.com)
 //
@@ -9,8 +9,10 @@
 using System;
 using System.Collections;
 using NUnit.Framework;
+using System.Text;
+using System.Runtime.InteropServices;
 
-namespace MonoTests.System.Runtime.Remoting
+namespace MonoTests.Remoting
 {
        public abstract class DelegateCallTest : BaseCallTest
        {
@@ -33,10 +35,10 @@ namespace MonoTests.System.Runtime.Remoting
                        return de (a,b,c,d);
                }
 
-               public override string PrimitiveParamsInOut (ref int a1, out int a2, ref float b1, out float b2, ref char c1, out char c2, ref string d1, out string d2)
+               public override string PrimitiveParamsInOut (ref int a1, out int a2, ref float b1, out float b2, int filler, ref char c1, out char c2, ref string d1, out string d2)
                {
                        DelegatePrimitiveParamsInOut de = new DelegatePrimitiveParamsInOut (RemoteObject.PrimitiveParamsInOut);
-                       return de (ref a1, out a2, ref b1, out b2, ref c1, out c2, ref d1, out d2);
+                       return de (ref a1, out a2, ref b1, out b2, filler, ref c1, out c2, ref d1, out d2);
                }
 
                public override Complex ComplexParams (ArrayList a, Complex b, string c)
@@ -45,10 +47,16 @@ namespace MonoTests.System.Runtime.Remoting
                        return de (a,b,c);
                }
 
-               public override Complex ComplexParamsInOut (ref ArrayList a, out Complex b, string c)
+               public override Complex ComplexParamsInOut (ref ArrayList a, out Complex b, [In,Out] byte[] bytes, [In,Out] StringBuilder sb, string c)
                {
                        DelegateComplexParamsInOut de = new DelegateComplexParamsInOut (RemoteObject.ComplexParamsInOut);
-                       return de (ref a, out b, c);
+                       return de (ref a, out b, bytes, sb, c);
+               }
+
+               public override void ProcessContextData ()
+               {
+                       DelegateProcessContextData de = new DelegateProcessContextData (RemoteObject.ProcessContextData);
+                       de ();
                }
        }
 
@@ -66,10 +74,10 @@ namespace MonoTests.System.Runtime.Remoting
                        return de (a,b,c,d);
                }
 
-               public override string PrimitiveParamsInOut (ref int a1, out int a2, ref float b1, out float b2, ref char c1, out char c2, ref string d1, out string d2)
+               public override string PrimitiveParamsInOut (ref int a1, out int a2, ref float b1, out float b2, int filler, ref char c1, out char c2, ref string d1, out string d2)
                {
                        DelegatePrimitiveParamsInOut de = new DelegatePrimitiveParamsInOut (RemoteObject.PrimitiveParamsInOut);
-                       return de (ref a1, out a2, ref b1, out b2, ref c1, out c2, ref d1, out d2);
+                       return de (ref a1, out a2, ref b1, out b2, filler, ref c1, out c2, ref d1, out d2);
                }
 
                public override Complex ComplexParams (ArrayList a, Complex b, string c)
@@ -78,10 +86,16 @@ namespace MonoTests.System.Runtime.Remoting
                        return de (a,b,c);
                }
 
-               public override Complex ComplexParamsInOut (ref ArrayList a, out Complex b, string c)
+               public override Complex ComplexParamsInOut (ref ArrayList a, out Complex b, [In,Out] byte[] bytes, [In,Out] StringBuilder sb, string c)
                {
                        DelegateComplexParamsInOut de = new DelegateComplexParamsInOut (RemoteObject.ComplexParamsInOut);
-                       return de (ref a, out b, c);
+                       return de (ref a, out b, bytes, sb, c);
+               }
+
+               public override void ProcessContextData ()
+               {
+                       DelegateProcessContextData de = new DelegateProcessContextData (RemoteObject.ProcessContextData);
+                       de ();
                }
        }
 
@@ -99,10 +113,10 @@ namespace MonoTests.System.Runtime.Remoting
                        return de (a,b,c,d);
                }
 
-               public override string PrimitiveParamsInOut (ref int a1, out int a2, ref float b1, out float b2, ref char c1, out char c2, ref string d1, out string d2)
+               public override string PrimitiveParamsInOut (ref int a1, out int a2, ref float b1, out float b2, int filler, ref char c1, out char c2, ref string d1, out string d2)
                {
                        DelegatePrimitiveParamsInOut de = new DelegatePrimitiveParamsInOut (RemoteObject.PrimitiveParamsInOut);
-                       return de (ref a1, out a2, ref b1, out b2, ref c1, out c2, ref d1, out d2);
+                       return de (ref a1, out a2, ref b1, out b2, filler, ref c1, out c2, ref d1, out d2);
                }
 
                public override Complex ComplexParams (ArrayList a, Complex b, string c)
@@ -111,10 +125,16 @@ namespace MonoTests.System.Runtime.Remoting
                        return de (a,b,c);
                }
 
-               public override Complex ComplexParamsInOut (ref ArrayList a, out Complex b, string c)
+               public override Complex ComplexParamsInOut (ref ArrayList a, out Complex b, [In,Out] byte[] bytes, [In,Out] StringBuilder sb, string c)
                {
                        DelegateComplexParamsInOut de = new DelegateComplexParamsInOut (RemoteObject.ComplexParamsInOut);
-                       return de (ref a, out b, c);
+                       return de (ref a, out b, bytes, sb, c);
+               }
+
+               public override void ProcessContextData ()
+               {
+                       DelegateProcessContextData de = new DelegateProcessContextData (RemoteObject.ProcessContextData);
+                       de ();
                }
        }
 }