Example #1
0
def test_replace1():
    # Add new atoms to the set
    atom = Atoms(['C'] * 10 + ['B'] * 2)
    atom[range(1, 4)] = Atom('Au', [-1] * 2)
    assert atom[0] == Atom('C')
    for i in range(1, 4):
        assert atom[i] != Atom('Au')
        assert atom[i] == Atom('Au', [-1] * 2)
    assert atom[4] != Atom('Au')
    assert atom[4] != Atom('Au', [-1] * 2)
    assert len(atom.atom) == 3
    atom.replace(atom[0], Atom('C', [-1] * 2))
    assert atom[0] == Atom('C', [-1] * 2)
    assert len(atom.atom) == 3
    assert atom[0] == Atom('C', [-1] * 2)
    for i in range(4, 10):
        assert atom[i] == Atom('C', [-1] * 2)
    for i in range(1, 4):
        assert atom[i] == Atom('Au', [-1] * 2)
    for i in range(10, 12):
        assert atom[i] == Atom('B')
Example #2
0
def test_replace2():
    # Add new atoms to the set
    atom = Atoms(['C'] * 10 + ['B'] * 2)
    atom.replace(range(1, 4), Atom('Au', [-1] * 2))
    assert atom[0] == Atom('C')
    for i in range(1, 4):
        assert atom[i] != Atom('Au')
        assert atom[i] == Atom('Au', [-1] * 2)
    assert atom[4] != Atom('Au')
    assert atom[4] != Atom('Au', [-1] * 2)
    assert len(atom.atom) == 3

    # Second replace call (equivalent to replace_atom)
    atom.replace(atom[0], Atom('C', [-1] * 2))
    assert atom[0] == Atom('C', [-1] * 2)
    assert len(atom.atom) == 3
    assert atom[0] == Atom('C', [-1] * 2)
    for i in range(4, 10):
        assert atom[i] == Atom('C', [-1] * 2)
    for i in range(1, 4):
        assert atom[i] == Atom('Au', [-1] * 2)
    for i in range(10, 12):
        assert atom[i] == Atom('B')