Example #1
0
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)
Example #2
0
def test_charge_too_large():
    with pytest.raises(ValueError):
        Ion("He", 3)
Example #3
0
def test_zero_charge():
    with pytest.raises(ValueError):
        Ion("He", 0)
Example #4
0
def fe2():
    return Ion("Fe", 2)
Example #5
0
def he():
    return Ion("He", 1)
Example #6
0
def fe2():
    return Ion('Fe', 2)
Example #7
0
def he():
    return Ion('He', 1)