Port tests to pytest

Use simple asserts and pytest's powerful introspection to make testing
simpler. This merges the old .py/.ref file pairs into simple .py files
where the expected values are right next to the code being tested.

This commit does not touch the C++ part of the code and replicates the
Python tests exactly like the old .ref-file-based approach.
This commit is contained in:
Dean Moldovan
2016-08-12 13:50:00 +02:00
parent 192eb88475
commit a0c1ccf0a9
103 changed files with 2410 additions and 2842 deletions

18
tests/test_pickling.py Normal file
View File

@@ -0,0 +1,18 @@
try:
import cPickle as pickle # Use cPickle on Python 2.7
except ImportError:
import pickle
from pybind11_tests import Pickleable
def test_roundtrip():
p = Pickleable("test_value")
p.setExtra1(15)
p.setExtra2(48)
data = pickle.dumps(p, 2) # Must use pickle protocol >= 2
p2 = pickle.loads(data)
assert p2.value() == p.value()
assert p2.extra1() == p.extra1()
assert p2.extra2() == p.extra2()