MCPcopy Create free account
hub / github.com/pybind/pybind11 / test_methods_and_attributes

Function test_methods_and_attributes

tests/test_methods_and_attributes.py:29–90  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

27
28
29def test_methods_and_attributes():
30 instance1 = m.ExampleMandA()
31 instance2 = m.ExampleMandA(32)
32
33 instance1.add1(instance2)
34 instance1.add2(instance2)
35 instance1.add3(instance2)
36 instance1.add4(instance2)
37 instance1.add5(instance2)
38 instance1.add6(32)
39 instance1.add7(32)
40 instance1.add8(32)
41 instance1.add9(32)
42 instance1.add10(32)
43
44 assert str(instance1) == "ExampleMandA[value=320]"
45 assert str(instance2) == "ExampleMandA[value=32]"
46 assert str(instance1.self1()) == "ExampleMandA[value=320]"
47 assert str(instance1.self2()) == "ExampleMandA[value=320]"
48 assert str(instance1.self3()) == "ExampleMandA[value=320]"
49 assert str(instance1.self4()) == "ExampleMandA[value=320]"
50 assert str(instance1.self5()) == "ExampleMandA[value=320]"
51
52 assert instance1.internal1() == 320
53 assert instance1.internal2() == 320
54 assert instance1.internal3() == 320
55 assert instance1.internal4() == 320
56 assert instance1.internal5() == 320
57
58 assert instance1.overloaded() == "()"
59 assert instance1.overloaded(0) == "(int)"
60 assert instance1.overloaded(1, 1.0) == "(int, float)"
61 assert instance1.overloaded(2.0, 2) == "(float, int)"
62 assert instance1.overloaded(3, 3) == "(int, int)"
63 assert instance1.overloaded(4.0, 4.0) == "(float, float)"
64 assert instance1.overloaded_const(-3) == "(int) const"
65 assert instance1.overloaded_const(5, 5.0) == "(int, float) const"
66 assert instance1.overloaded_const(6.0, 6) == "(float, int) const"
67 assert instance1.overloaded_const(7, 7) == "(int, int) const"
68 assert instance1.overloaded_const(8.0, 8.0) == "(float, float) const"
69 assert instance1.overloaded_float(1, 1) == "(float, float)"
70 assert instance1.overloaded_float(1, 1.0) == "(float, float)"
71 assert instance1.overloaded_float(1.0, 1) == "(float, float)"
72 assert instance1.overloaded_float(1.0, 1.0) == "(float, float)"
73
74 assert instance1.value == 320
75 instance1.value = 100
76 assert str(instance1) == "ExampleMandA[value=100]"
77
78 if env.GRAALPY:
79 pytest.skip("ConstructorStats is incompatible with GraalPy.")
80
81 cstats = ConstructorStats.get(m.ExampleMandA)
82 assert cstats.alive() == 2
83 del instance1, instance2
84 assert cstats.alive() == 0
85 assert cstats.values() == ["32"]
86 assert cstats.default_constructions == 1

Callers

nothing calls this directly

Calls 15

add1Method · 0.95
add2Method · 0.95
add3Method · 0.95
add4Method · 0.95
add5Method · 0.95
add6Method · 0.95
add7Method · 0.95
add8Method · 0.95
add9Method · 0.95
add10Method · 0.95
self1Method · 0.95
self4Method · 0.95

Tested by

no test coverage detected