operators: Move hash check to before mutations, tweak whitespace

This commit is contained in:
Eric Cousineau 2020-05-18 15:33:23 -04:00 committed by Wenzel Jakob
parent 2c30e0a118
commit 5309573005

View File

@ -24,6 +24,8 @@ def test_operator_overloading():
assert str(v1 * v2) == "[3.000000, -2.000000]"
assert str(v2 / v1) == "[3.000000, -0.500000]"
assert hash(v1) == 4
v1 += 2 * v2
assert str(v1) == "[7.000000, 0.000000]"
v1 -= v2
@ -37,22 +39,30 @@ def test_operator_overloading():
v2 /= v1
assert str(v2) == "[2.000000, 8.000000]"
assert hash(v1) == 4
cstats = ConstructorStats.get(m.Vector2)
assert cstats.alive() == 2
del v1
assert cstats.alive() == 1
del v2
assert cstats.alive() == 0
assert cstats.values() == ['[1.000000, 2.000000]', '[3.000000, -1.000000]',
'[-3.000000, 1.000000]', '[4.000000, 1.000000]',
'[-2.000000, 3.000000]', '[-7.000000, -6.000000]',
'[9.000000, 10.000000]', '[8.000000, 16.000000]',
'[0.125000, 0.250000]', '[7.000000, 6.000000]',
'[9.000000, 10.000000]', '[8.000000, 16.000000]',
'[8.000000, 4.000000]', '[3.000000, -2.000000]',
'[3.000000, -0.500000]', '[6.000000, -2.000000]']
assert cstats.values() == [
'[1.000000, 2.000000]',
'[3.000000, -1.000000]',
'[-3.000000, 1.000000]',
'[4.000000, 1.000000]',
'[-2.000000, 3.000000]',
'[-7.000000, -6.000000]',
'[9.000000, 10.000000]',
'[8.000000, 16.000000]',
'[0.125000, 0.250000]',
'[7.000000, 6.000000]',
'[9.000000, 10.000000]',
'[8.000000, 16.000000]',
'[8.000000, 4.000000]',
'[3.000000, -2.000000]',
'[3.000000, -0.500000]',
'[6.000000, -2.000000]',
]
assert cstats.default_constructions == 0
assert cstats.copy_constructions == 0
assert cstats.move_constructions >= 10