| open Swig |
| open Extend_placement |
| |
| let _ = |
| let f = new_Foo '() in |
| assert (f -> spam () as int = 1); |
| assert (new_Foo '(1) -> spam () as int = 1); |
| let f = new_Foo '(1, 1) in |
| assert (f -> spam () as int = 1); |
| assert (f -> spam ("hello") as int = 2); |
| assert (f -> spam (1) as int = 1); |
| assert (f -> spam (1, 2) as int = 3); |
| assert (f -> spam (2, 4, 6) as int = 6); |
| assert (f -> spam (f) as int = 0); |
| let arg = C_double 1. in |
| assert (f -> spam (f, arg) as int = 0); |
| |
| assert (new_Bar '() -> spam () as int = 1); |
| let b = new_Bar '(1) in |
| assert (b -> spam () as int = 1); |
| assert (b -> spam ("hello") as int = 2); |
| assert (b -> spam (1) as int = 1); |
| assert (b -> spam (1, 2) as int = 3); |
| assert (b -> spam (2, 4, 6) as int = 6); |
| assert (b -> spam (b) as int = 0); |
| let arg = C_double 1. in |
| assert (b -> spam (b, arg) as int = 0); |
| |
| assert (new_FooTi '() -> spam () as int = 1); |
| assert (new_FooTi '(1) -> spam () as int = 1); |
| let f = new_FooTi '(1, 1) in |
| assert (f -> spam () as int = 1); |
| assert (f -> spam ("hello") as int = 2); |
| assert (f -> spam (1) as int = 1); |
| assert (f -> spam (1, 2) as int = 3); |
| assert (f -> spam (2, 4, 6) as int = 6); |
| let foo = new_Foo '() in |
| assert (f -> spam (foo) as int = 0); |
| let arg = C_double 1. in |
| assert (f -> spam (foo, arg) as int = 0); |
| |
| assert (new_BarTi '() -> spam () as int = 1); |
| let b = new_BarTi '(1) in |
| assert (b -> spam () as int = 1); |
| assert (b -> spam ("hello") as int = 2); |
| assert (b -> spam (1) as int = 1); |
| assert (b -> spam (1, 2) as int = 3); |
| assert (b -> spam (2, 4, 6) as int = 6); |
| let bar = new_Bar '() in |
| assert (b -> spam (bar) as int = 0); |
| let arg = C_double 1. in |
| assert (b -> spam (bar, arg) as int = 0); |
| ;; |