1 from overload_simple import *
3 if foo(3) != "foo:int":
4 raise RuntimeError, "foo(int)"
6 if foo(3.0) != "foo:double":
7 raise RuntimeError, "foo(double)"
9 if foo("hello") != "foo:char *":
10 raise RuntimeError, "foo(char *)"
15 if foo(f) != "foo:Foo *":
16 raise RuntimeError, "foo(Foo *)"
18 if foo(b) != "foo:Bar *":
19 raise RuntimeError, "foo(Bar *)"
23 if foo(v) != "foo:void *":
24 raise RuntimeError, "foo(void *)"
28 if s.foo(3) != "foo:int":
29 raise RuntimeError, "Spam::foo(int)"
31 if s.foo(3.0) != "foo:double":
32 raise RuntimeError, "Spam::foo(double)"
34 if s.foo("hello") != "foo:char *":
35 raise RuntimeError, "Spam::foo(char *)"
37 if s.foo(f) != "foo:Foo *":
38 raise RuntimeError, "Spam::foo(Foo *)"
40 if s.foo(b) != "foo:Bar *":
41 raise RuntimeError, "Spam::foo(Bar *)"
43 if s.foo(v) != "foo:void *":
44 raise RuntimeError, "Spam::foo(void *)"
46 if Spam_bar(3) != "bar:int":
47 raise RuntimeError, "Spam::bar(int)"
49 if Spam_bar(3.0) != "bar:double":
50 raise RuntimeError, "Spam::bar(double)"
52 if Spam_bar("hello") != "bar:char *":
53 raise RuntimeError, "Spam::bar(char *)"
55 if Spam_bar(f) != "bar:Foo *":
56 raise RuntimeError, "Spam::bar(Foo *)"
58 if Spam_bar(b) != "bar:Bar *":
59 raise RuntimeError, "Spam::bar(Bar *)"
61 if Spam_bar(v) != "bar:void *":
62 raise RuntimeError, "Spam::bar(void *)"
68 raise RuntimeError, "Spam()"
72 raise RuntimeError, "Spam(int)"
75 if s.type != "double":
76 raise RuntimeError, "Spam(double)"
79 if s.type != "char *":
80 raise RuntimeError, "Spam(char *)"
84 raise RuntimeError, "Spam(Foo *)"
88 raise RuntimeError, "Spam(Bar *)"
91 if s.type != "void *":
92 raise RuntimeError, "Spam(void *)"