def test_inherited_attrs(atomic_number): """ Check if properties inherited from Element are properly passed on """ elm = element(atomic_number) ion = Ion(atomic_number) assert ion.charge == ion.q assert ion.Z == ion.atomic_number == elm.atomic_number assert ion.electrons == ion.Z - ion.charge for attr in Ion.__element_attributes__: if attr != "group": assert getattr(elm, attr) == getattr(ion, attr)
def test_charge_too_large(): with pytest.raises(ValueError): Ion("He", 3)
def test_zero_charge(): with pytest.raises(ValueError): Ion("He", 0)
def fe2(): return Ion("Fe", 2)
def he(): return Ion("He", 1)
def fe2(): return Ion('Fe', 2)
def he(): return Ion('He', 1)