Coverage for gpaw/test/test_cluster.py: 100%
27 statements
« prev ^ index » next coverage.py v7.7.1, created at 2025-07-14 00:18 +0000
« prev ^ index » next coverage.py v7.7.1, created at 2025-07-14 00:18 +0000
1from math import sqrt
2import pytest
4from ase import Atoms
6from gpaw.cluster import Cluster
9def test_CO(recwarn):
10 R = 2.0
11 box = 4.
12 h = 0.2
13 CO = Cluster(Atoms('CO', [(1, 0, 0), (1, 0, R)]))
15 CO.rotate(90, 'y')
16 assert CO.positions[1, 0] == pytest.approx(R, abs=1e-10)
18 # translate
19 CO.translate(-CO.get_center_of_mass())
20 p = CO.positions.copy()
21 for i in range(2):
22 assert p[i, 1] == pytest.approx(0, abs=1e-10)
23 assert p[i, 2] == pytest.approx(0, abs=1e-10)
25 CO.rotate(p[1] - p[0], (1, 1, 1))
26 q = CO.positions.copy()
27 for c in range(3):
28 assert q[0, c] == pytest.approx(p[0, 0] / sqrt(3), abs=1e-10)
29 assert q[1, c] == pytest.approx(p[1, 0] / sqrt(3), abs=1e-10)
31 CO.minimal_box(box, h)
32 w = recwarn.pop(FutureWarning)
34 assert (str(w.message) ==
35 'Please use adjust_cell from gpaw.utilities.adjust_cell instead.')
37 CO.find_connected(0)
38 w = recwarn.pop(FutureWarning)
40 assert (str(w.message) ==
41 'Please use connected_indices from ase.build.connected instead.')