aboutsummaryrefslogtreecommitdiff
path: root/Examples/test-suite/csharp/argcargvtest_runme.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Examples/test-suite/csharp/argcargvtest_runme.cs')
-rw-r--r--Examples/test-suite/csharp/argcargvtest_runme.cs46
1 files changed, 46 insertions, 0 deletions
diff --git a/Examples/test-suite/csharp/argcargvtest_runme.cs b/Examples/test-suite/csharp/argcargvtest_runme.cs
new file mode 100644
index 000000000..5b7f7c33b
--- /dev/null
+++ b/Examples/test-suite/csharp/argcargvtest_runme.cs
@@ -0,0 +1,46 @@
+using System;
+using argcargvtestNamespace;
+
+public class argcargvtest_runme {
+
+ public static void Main() {
+ string[] largs = {"hi", "hola", "hello"};
+ if (argcargvtest.mainc(largs) != 3)
+ throw new Exception("bad main typemap");
+
+ string[] targs = {"hi", "hola"};
+ if (!argcargvtest.mainv(targs, 0).Equals("hi"))
+ throw new Exception("bad main typemap");
+ if (!argcargvtest.mainv(targs, 1).Equals("hola"))
+ throw new Exception("bad main typemap");
+ if (!argcargvtest.mainv(targs, 2).Equals("<<NULL>>"))
+ throw new Exception("bad main typemap");
+
+// For dynamically typed languages we test this throws an exception or similar
+// at runtime, but for C# this doesn't even compile (but we can't easily
+// test for that here).
+// argcargvtest.mainv("hello", 1);
+
+ argcargvtest.initializeApp(largs);
+
+ // Check that an empty array works.
+ string[] empty_args = {};
+ if (argcargvtest.mainc(empty_args) != 0)
+ throw new Exception("bad main typemap");
+ if (!argcargvtest.mainv(empty_args, 0).Equals("<<NULL>>"))
+ throw new Exception("bad main typemap");
+
+ // Check that empty strings are handled.
+ string[] empty_string = {"hello", "", "world"};
+ if (argcargvtest.mainc(empty_string) != 3)
+ throw new Exception("bad main typemap");
+ if (argcargvtest.mainv(empty_string, 0) != "hello")
+ throw new Exception("bad main typemap");
+ if (argcargvtest.mainv(empty_string, 1) != "")
+ throw new Exception("bad main typemap");
+ if (argcargvtest.mainv(empty_string, 2) != "world")
+ throw new Exception("bad main typemap");
+ if (argcargvtest.mainv(empty_string, 3) != "<<NULL>>")
+ throw new Exception("bad main typemap");
+ }
+}