Skip to content

Commit

Permalink
Fix pytest decimal error
Browse files Browse the repository at this point in the history
  • Loading branch information
bobleesj committed Jul 3, 2024
1 parent 502fb5e commit b222882
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 7 deletions.
3 changes: 2 additions & 1 deletion src/cifkit/data/radius_handler.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import numpy as np
from cifkit.data.radius import get_radius_data
from cifkit.data.radius_optimization import get_refined_CIF_radius

Expand Down Expand Up @@ -46,7 +47,7 @@ def get_radius_values_per_element(elements, shortest_bond_distances) -> dict:
for element in elements:
combined_radii[element] = {
"CIF_radius": CIF_pauling_rad[element]["CIF_radius"],
"CIF_radius_refined": CIF_refined_rad.get(element),
"CIF_radius_refined": float(np.round(CIF_refined_rad.get(element), 3)),
"Pauling_radius_CN12": CIF_pauling_rad[element]["Pauling_radius_CN12"],
}

Expand Down
25 changes: 19 additions & 6 deletions tests/core/models/test_cif.py
Original file line number Diff line number Diff line change
Expand Up @@ -220,35 +220,48 @@ def test_shortest_distance_per_site(cif_URhIn):
# Radius
@pytest.mark.fast
def test_radius_values(cif_URhIn):
assert cif_URhIn.radius_values == {
expected_values = {
"In": {
"CIF_radius": 1.624,
"CIF_radius_refined": 1.3283481582381291,
"CIF_radius_refined": 1.328,
"Pauling_radius_CN12": 1.66,
},
"Rh": {
"CIF_radius": 1.345,
"CIF_radius_refined": 1.368651841761871,
"CIF_radius_refined": 1.369,
"Pauling_radius_CN12": 1.342,
},
"U": {
"CIF_radius": 1.377,
"CIF_radius_refined": 1.6143481582381292,
"CIF_radius_refined": 1.614,
"Pauling_radius_CN12": 1.51,
},
}
actual_values = cif_URhIn.radius_values
for element, radii in expected_values.items():
for radius_type, expected_radius in radii.items():
actual_radius = actual_values[element][radius_type]
assert actual_radius == pytest.approx(expected_radius, abs=0.001)


@pytest.mark.fast
def test_radius_sum_data(cif_URhIn, radius_sum_data_URhIn):
result = cif_URhIn.radius_sum
assert result == radius_sum_data_URhIn
for key, value_dict in radius_sum_data_URhIn.items():
for pair, expected_sum in value_dict.items():
actual_sum = result[key][pair]
assert actual_sum == pytest.approx(expected_sum, abs=0.001)


@pytest.mark.fast
def test_CN_max_gap_per_site(cif_URhIn, max_gaps_per_label_URhIn):
result = cif_URhIn.CN_max_gap_per_site
assert result == max_gaps_per_label_URhIn
for label, dist_types in max_gaps_per_label_URhIn.items():
for dist_type, values in dist_types.items():
assert result[label][dist_type]["CN"] == values["CN"]
assert result[label][dist_type]["max_gap"] == pytest.approx(
values["max_gap"], abs=0.00101
)


@pytest.mark.fast
Expand Down

0 comments on commit b222882

Please sign in to comment.