2 from pybind11_tests
import operators
as m
3 from pybind11_tests
import ConstructorStats
9 assert str(v1) ==
"[1.000000, 2.000000]" 10 assert str(v2) ==
"[3.000000, -1.000000]" 12 assert str(-v2) ==
"[-3.000000, 1.000000]" 14 assert str(v1 + v2) ==
"[4.000000, 1.000000]" 15 assert str(v1 - v2) ==
"[-2.000000, 3.000000]" 16 assert str(v1 - 8) ==
"[-7.000000, -6.000000]" 17 assert str(v1 + 8) ==
"[9.000000, 10.000000]" 18 assert str(v1 * 8) ==
"[8.000000, 16.000000]" 19 assert str(v1 / 8) ==
"[0.125000, 0.250000]" 20 assert str(8 - v1) ==
"[7.000000, 6.000000]" 21 assert str(8 + v1) ==
"[9.000000, 10.000000]" 22 assert str(8 * v1) ==
"[8.000000, 16.000000]" 23 assert str(8 / v1) ==
"[8.000000, 4.000000]" 24 assert str(v1 * v2) ==
"[3.000000, -2.000000]" 25 assert str(v2 / v1) ==
"[3.000000, -0.500000]" 28 assert str(v1) ==
"[7.000000, 0.000000]" 30 assert str(v1) ==
"[4.000000, 1.000000]" 32 assert str(v1) ==
"[8.000000, 2.000000]" 34 assert str(v1) ==
"[0.500000, 0.125000]" 36 assert str(v1) ==
"[1.500000, -0.125000]" 38 assert str(v2) ==
"[2.000000, 8.000000]" 43 assert cstats.alive() == 2
45 assert cstats.alive() == 1
47 assert cstats.alive() == 0
48 assert cstats.values() == [
'[1.000000, 2.000000]',
'[3.000000, -1.000000]',
49 '[-3.000000, 1.000000]',
'[4.000000, 1.000000]',
50 '[-2.000000, 3.000000]',
'[-7.000000, -6.000000]',
51 '[9.000000, 10.000000]',
'[8.000000, 16.000000]',
52 '[0.125000, 0.250000]',
'[7.000000, 6.000000]',
53 '[9.000000, 10.000000]',
'[8.000000, 16.000000]',
54 '[8.000000, 4.000000]',
'[3.000000, -2.000000]',
55 '[3.000000, -0.500000]',
'[6.000000, -2.000000]']
56 assert cstats.default_constructions == 0
57 assert cstats.copy_constructions == 0
58 assert cstats.move_constructions >= 10
59 assert cstats.copy_assignments == 0
60 assert cstats.move_assignments == 0
64 """#393: need to return NotSupported to ensure correct arithmetic operator behavior""" 66 c1, c2 = m.C1(), m.C2()
74 """#328: first member in a class can't be used in operators""" 81 assert m.get_NestA(a) == 13
83 assert m.get_NestA(b.a) == 103
85 assert m.get_NestA(c.b.a) == 1003
87 assert m.get_NestB(b) == 3
89 assert m.get_NestB(c.b) == 1
91 assert m.get_NestC(c) == 35
94 assert abase.value == -2
95 a.as_base().value += 44
96 assert abase.value == 42
97 assert c.b.a.as_base().value == -2
98 c.b.a.as_base().value += 44
99 assert c.b.a.as_base().value == 42
106 assert abase.value == 42
static ConstructorStats & get(std::type_index type)
op_< op_hash, op_u, self_t, undefined_t > hash(const self_t &)
def test_operators_notimplemented()
def test_operator_overloading()