blob: 68ea0e854d4f0b381a3c025f54ba362ef9286416 [file] [log] [blame]
using System;
using default_argsNamespace;
public class runme
{
static void Main()
{
if (default_args.anonymous() != 7771)
throw new Exception("anonymous (1) failed");
if (default_args.anonymous(1234) != 1234)
throw new Exception("anonymous (2) failed");
if (default_args.booltest() != true)
throw new Exception("booltest (1) failed");
if (default_args.booltest(true) != true)
throw new Exception("booltest (2) failed");
if (default_args.booltest(false) != false)
throw new Exception("booltest (3) failed");
EnumClass ec = new EnumClass();
if (ec.blah() != true)
throw new Exception("EnumClass failed");
if (default_args.casts1() != null)
throw new Exception("casts1 failed");
if (default_args.casts2() != "Hello")
throw new Exception("casts2 failed");
if (default_args.casts1("Ciao") != "Ciao")
throw new Exception("casts1 not default failed");
if (default_args.chartest1() != 'x')
throw new Exception("chartest1 failed");
if (default_args.chartest2() != '\0')
throw new Exception("chartest2 failed");
if (default_args.chartest1('y') != 'y')
throw new Exception("chartest1 not default failed");
if (default_args.chartest1('y') != 'y')
throw new Exception("chartest1 not default failed");
if (default_args.reftest1() != 42)
throw new Exception("reftest1 failed");
if (default_args.reftest1(400) != 400)
throw new Exception("reftest1 not default failed");
if (default_args.reftest2() != "hello")
throw new Exception("reftest2 failed");
// rename
Foo foo = new Foo();
foo.newname();
foo.newname(10);
foo.renamed3arg(10, 10.0);
foo.renamed2arg(10);
foo.renamed1arg();
// exception specifications
try {
default_args.exceptionspec();
throw new Exception("exceptionspec 1 failed");
} catch (Exception) {
}
try {
default_args.exceptionspec(-1);
throw new Exception("exceptionspec 2 failed");
} catch (Exception) {
}
try {
default_args.exceptionspec(100);
throw new Exception("exceptionspec 3 failed");
} catch (Exception) {
}
Except ex = new Except(false);
try {
ex.exspec();
throw new Exception("exspec 1 failed");
} catch (Exception) {
}
try {
ex.exspec(-1);
throw new Exception("exspec 2 failed");
} catch (Exception) {
}
try {
ex.exspec(100);
throw new Exception("exspec 3 failed");
} catch (Exception) {
}
try {
ex = new Except(true);
throw new Exception("Except constructor 1 failed");
} catch (Exception) {
}
try {
ex = new Except(true, -2);
throw new Exception("Except constructor 2 failed");
} catch (Exception) {
}
// Default parameters in static class methods
if (Statics.staticmethod() != 10+20+30)
throw new Exception("staticmethod 1 failed");
if (Statics.staticmethod(100) != 100+20+30)
throw new Exception("staticmethod 2 failed");
if (Statics.staticmethod(100,200,300) != 100+200+300)
throw new Exception("staticmethod 3 failed");
Tricky tricky = new Tricky();
if (tricky.privatedefault() != 200)
throw new Exception("privatedefault failed");
if (tricky.protectedint() != 2000)
throw new Exception("protectedint failed");
if (tricky.protecteddouble() != 987.654)
throw new Exception("protecteddouble failed");
if (tricky.functiondefault() != 500)
throw new Exception("functiondefault failed");
if (tricky.contrived() != 'X')
throw new Exception("contrived failed");
if (default_args.constructorcall().val != -1)
throw new Exception("constructorcall test 1 failed");
if (default_args.constructorcall(new Klass(2222)).val != 2222)
throw new Exception("constructorcall test 2 failed");
if (default_args.constructorcall(new Klass()).val != -1)
throw new Exception("constructorcall test 3 failed");
// const methods
ConstMethods cm = new ConstMethods();
if (cm.coo() != 20)
throw new Exception("coo test 1 failed");
if (cm.coo(1.0) != 20)
throw new Exception("coo test 2 failed");
}
}