mirror of https://github.com/swig/swig
47 lines
1.7 KiB
C#
47 lines
1.7 KiB
C#
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");
|
|
}
|
|
}
|