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
|
import pickle
import pytest
import mdtraj as md
from mdtraj import element
from mdtraj.testing import eq
def test_immutable():
def f():
element.hydrogen.mass = 1
def g():
element.radium.symbol = "sdfsdfsdf"
def h():
element.iron.name = "sdfsdf"
pytest.raises(AttributeError, f)
pytest.raises(AttributeError, g)
pytest.raises(AttributeError, h)
assert element.hydrogen.mass == 1.007947
assert element.radium.symbol == "Ra"
assert element.iron.name == "iron"
def test_element_0(get_fn):
t = md.load(get_fn("bpti.pdb"))
a = t.top.atom(15)
H = element.Element.getBySymbol("H")
eq(a.element, H)
def test_element_pickle():
"""Test that every Element object can pickle and de-pickle"""
for el in dir(element):
if isinstance(el, element.Element):
assert el == pickle.loads(pickle.dumps(el))
|