scilab: fix and add overloading tests

This commit is contained in:
simon 2016-03-08 17:36:20 +01:00
commit 88e2ce8556
3 changed files with 43 additions and 17 deletions

View file

@ -0,0 +1,11 @@
exec("swigtest.start", -1);
derived = new_Derived();
checkequal(test(derived), 0, "test(derived)");
checkequal(test2(derived), 1, "test2(derived)");
delete_Derived(derived);
exec("swigtest.quit", -1);

View file

@ -1,16 +1,17 @@
exec("swigtest.start", -1);
f = new_Foo();
b = new_Bar();
v = malloc_void(32);
// Functions
checkequal(foo(int32(3)), "foo:int", "foo(int)");
checkequal(foo(3), "foo:double", "foo(double)");
checkequal(foo("hello"), "foo:char *", "foo(char* )");
f = new_Foo();
checkequal(foo(f), "foo:Foo *", "foo(Foo *)");
//b = new_Bar();
//checkequal(foo(b), "foo:Bar *", "foo(Bar *)");
//v = malloc_void(32);
//checkequal(foo(v), "foo:void *", "foo(void *)");
checkequal(foo(b), "foo:Bar *", "foo(Bar *)");
checkequal(foo(v), "foo:void *", "foo(void *)");
// Class methods
@ -19,8 +20,8 @@ checkequal(Spam_foo(s, int32(3)), "foo:int", "Spam::foo(int)");
checkequal(Spam_foo(s, 3), "foo:double", "Spam::foo(double)");
checkequal(Spam_foo(s, "hello"), "foo:char *", "Spam::foo(char *)");
checkequal(Spam_foo(s, f), "foo:Foo *", "Spam::foo(Foo *)");
//checkequal(Spam_foo(s, b), "foo:Bar *", "Spam::foo(Bar *)");
//checkequal(Spam_foo(s, v), "foo:void *", "Spam::foo(void *)");
checkequal(Spam_foo(s, b), "foo:Bar *", "Spam::foo(Bar *)");
checkequal(Spam_foo(s, v), "foo:void *", "Spam::foo(void *)");
delete_Spam(s);
// Static class methods
@ -29,8 +30,8 @@ checkequal(Spam_bar(int32(3)), "bar:int", "Spam::bar(int)");
checkequal(Spam_bar(3.1), "bar:double", "Spam::bar(double)");
checkequal(Spam_bar("hello"), "bar:char *", "Spam::bar(char *)");
checkequal(Spam_bar(f), "bar:Foo *", "Spam::bar(Foo *)");
//checkequal(Spam_bar(b), "bar:Bar *", "Spam::bar(Bar *)");
//checkequal(Spam_bar(b), "bar:void *", "Spam::bar(void *)");
checkequal(Spam_bar(b), "bar:Bar *", "Spam::bar(Bar *)");
checkequal(Spam_bar(v), "bar:void *", "Spam::bar(void *)");
// Constructors
@ -54,20 +55,21 @@ s = new_Spam(f);
checkequal(Spam_type_get(s), "Foo *", "Spam::Spam(Foo *)");
delete_Spam(s);
//s = new_Spam(b);
//checkequal(Spam_type_get(s), "Bar *", "Spam::Spam(Bar *)");
//delete_Spam(s);
s = new_Spam(b);
checkequal(Spam_type_get(s), "Bar *", "Spam::Spam(Bar *)");
delete_Spam(s);
//s = new_Spam(v);
//checkequal(Spam_type_get(s), "void *", "Spam::Spam(void *)");
//delete_Spam(s);
s = new_Spam(v);
checkequal(Spam_type_get(s), "void *", "Spam::Spam(void *)");
delete_Spam(s);
delete_Foo(f);
//delete_Bar(b);
//free_void(v);
delete_Bar(b);
free_void(v);
a = new_ClassA();
b = ClassA_method1(a, 1);
delete_ClassA(a);
exec("swigtest.quit", -1);

View file

@ -0,0 +1,13 @@
exec("swigtest.start", -1);
f = new_Foo();
b = new_Bar();
checkequal(spam(f), 1, "spam(f)");
checkequal(spam(b), 2, "spam(b)");
delete_Foo(f);
delete_Bar(b);
exec("swigtest.quit", -1);