11"""Test client core utilities."""
22
3+ from packaging .version import parse as parse_version
34import pytest
45
56from emmet .core .mpid import MPID , AlphaID
67
7- from mp_api .client .core .utils import validate_ids
8- from mp_api .client .core .settings import MAPIClientSettings
8+
9+ def test_emmet_core_version_checks (monkeypatch : pytest .MonkeyPatch ):
10+
11+ ref_ver = (1 ,2 ,"3rc5" )
12+ ref_ver_str = "." .join (str (x ) for x in ref_ver )
13+
14+ import emmet .core
15+ monkeypatch .setattr (emmet .core ,"__version__" ,ref_ver_str )
16+ from mp_api .client .core .utils import _compare_emmet_ver
17+
18+ assert _compare_emmet_ver (ref_ver_str ,"==" )
19+
20+ next_ver = "." .join (str (x ) for x in [ref_ver [0 ] + 1 ,* ref_ver [1 :]])
21+ assert _compare_emmet_ver (next_ver ,"<" )
22+ assert _compare_emmet_ver (next_ver ,"<=" )
23+
24+ prior_ver = "." .join (str (x ) for x in [ref_ver [0 ],ref_ver [1 ]- 1 ,* ref_ver [2 :]])
25+ assert _compare_emmet_ver (prior_ver ,">" )
26+ assert _compare_emmet_ver (prior_ver ,">=" )
927
1028def test_id_validation ():
11- max_num_idxs = MAPIClientSettings ().MAX_LIST_LENGTH
1229
30+ from mp_api .client .core .utils import validate_ids
31+ from mp_api .client .core .settings import MAPIClientSettings
32+
33+ max_num_idxs = MAPIClientSettings ().MAX_LIST_LENGTH
1334
1435 with pytest .raises (ValueError ,match = "too long" ):
1536 _ = validate_ids (
@@ -30,4 +51,4 @@ def test_id_validation():
3051 for x in validate_ids (
3152 [y + AlphaID ._cut_point for y in range (max_num_idxs )]
3253 )
33- )
54+ )
0 commit comments