/trunk/Examples/test-suite/octave/overload_simple_runme.m
MATLAB | 125 lines | 93 code | 32 blank | 0 comment | 25 complexity | 31f3b04c341abd9a6622d27e9f544795 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- overload_simple
- # unless explicitly casted via {{u}int{8,16,32,64},double,single},
- # octave will take numeric literals as doubles.
- if (!strcmp(foo(3),"foo:int"))
- error("foo(int)")
- endif
- if (!strcmp(foo(3.1),"foo:double"))
- error("foo(double)")
- endif
- if (!strcmp(foo("hello"),"foo:char *"))
- error("foo(char *)")
- endif
- f = Foo();
- b = Bar();
- if (!strcmp(foo(f),"foo:Foo *"))
- error("foo(Foo *)")
- endif
- if (!strcmp(foo(b),"foo:Bar *"))
- error("foo(Bar *)")
- endif
- v = malloc_void(32);
- if (!strcmp(foo(v),"foo:void *"))
- error("foo(void *)")
- endif
- s = Spam();
- if (!strcmp(s.foo(3),"foo:int"))
- error("Spam::foo(int)")
- endif
- if (!strcmp(s.foo(3.1),"foo:double"))
- error("Spam::foo(double)")
- endif
- if (!strcmp(s.foo("hello"),"foo:char *"))
- error("Spam::foo(char *)")
- endif
- if (!strcmp(s.foo(f),"foo:Foo *"))
- error("Spam::foo(Foo *)")
- endif
- if (!strcmp(s.foo(b),"foo:Bar *"))
- error("Spam::foo(Bar *)")
- endif
- if (!strcmp(s.foo(v),"foo:void *"))
- error("Spam::foo(void *)")
- endif
- if (!strcmp(Spam_bar(3),"bar:int"))
- error("Spam::bar(int)")
- endif
- if (!strcmp(Spam_bar(3.1),"bar:double"))
- error("Spam::bar(double)")
- endif
- if (!strcmp(Spam_bar("hello"),"bar:char *"))
- error("Spam::bar(char *)")
- endif
- if (!strcmp(Spam_bar(f),"bar:Foo *"))
- error("Spam::bar(Foo *)")
- endif
- if (!strcmp(Spam_bar(b),"bar:Bar *"))
- error("Spam::bar(Bar *)")
- endif
- if (!strcmp(Spam_bar(v),"bar:void *"))
- error("Spam::bar(void *)")
- endif
- # Test constructors
- s = Spam();
- if (!strcmp(s.type,"none"))
- error("Spam()")
- endif
- s = Spam(3);
- if (!strcmp(s.type,"int"))
- error("Spam(int)")
- endif
-
- s = Spam(3.4);
- if (!strcmp(s.type,"double"))
- error("Spam(double)")
- endif
- s = Spam("hello");
- if (!strcmp(s.type,"char *"))
- error("Spam(char *)")
- endif
- s = Spam(f);
- if (!strcmp(s.type,"Foo *"))
- error("Spam(Foo *)")
- endif
- s = Spam(b);
- if (!strcmp(s.type,"Bar *"))
- error("Spam(Bar *)")
- endif
- s = Spam(v);
- if (!strcmp(s.type,"void *"))
- error("Spam(void *)")
- endif
- free_void(v);
- a = ClassA();
- b = a.method1(1);