diff options
Diffstat (limited to 'Examples/test-suite/csharp/argcargvtest_runme.cs')
-rw-r--r-- | Examples/test-suite/csharp/argcargvtest_runme.cs | 46 |
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"); + } +} |