File: python_flatstaticmethod_runme.py

package info (click to toggle)
swig 4.1.0-0.2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 47,992 kB
  • sloc: cpp: 50,555; ansic: 27,840; java: 15,366; python: 11,221; cs: 8,852; ruby: 6,307; yacc: 6,290; makefile: 5,702; sh: 5,492; perl: 3,818; php: 3,046; ml: 2,094; lisp: 1,756; javascript: 1,751; tcl: 1,499; xml: 115
file content (92 lines) | stat: -rw-r--r-- 1,920 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
from python_flatstaticmethod import *
import inspect

# This testcase tests C++ class static functions when using legacy "flattened"
# staticmethod access, A_bar, as well as the normal staticmethod access, A.bar.


def check(got, expected):
    if got != expected:
        raise RuntimeError("\ngot :{}\nwant:{}\n".format(got, expected))

if A_bar(2) != 4:
    raise RuntimeError

if A.bar(2) != 4:
    raise RuntimeError

# %callback
if foobar(3, A_bar) != A_bar(3):
    raise RuntimeError

if foobar(3, A.bar) != A_bar(3):
    raise RuntimeError

# kwargs
if A_pub() != 1:
    raise RuntimeError

if A_pub(b=2) != 3:
    raise RuntimeError

if A_pub(b=10,a=20) != 30:
    raise RuntimeError

if A.pub() != 1:
    raise RuntimeError

if A.pub(b=2) != 3:
    raise RuntimeError

if A.pub(b=10,a=20) != 30:
    raise RuntimeError

check(inspect.getdoc(A_func0static),
    "A_func0static(e, arg2, hello, f=2) -> int")
check(inspect.getdoc(A_func1static),
    "A_func1static(A e, short arg2, Tuple hello, double f=2) -> int")

# overloaded static functions
if A_over(3) != "over:int":
    raise RuntimeError("A::over(int)")

if A_over(3.0) != "over:double":
    raise RuntimeError("A::over(double)")

if A_over("hello") != "over:char *":
    raise RuntimeError("A::over(char *)")

if A.over(3) != "over:int":
    raise RuntimeError("A::over(int)")

if A.over(3.0) != "over:double":
    raise RuntimeError("A::over(double)")

if A.over("hello") != "over:char *":
    raise RuntimeError("A::over(char *)")

# default args
if A_defargs() != 30:
    raise RuntimeError

if A_defargs(1) != 21:
    raise RuntimeError

if A_defargs(1, 2) != 3:
    raise RuntimeError

if A.defargs() != 30:
    raise RuntimeError

if A.defargs(1) != 21:
    raise RuntimeError

if A.defargs(1, 2) != 3:
    raise RuntimeError

# %extend
if A_staticextended(11) != 11:
    raise RuntimeError

if A.staticextended(11) != 11:
    raise RuntimeError