1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
from emmet.core.mpid import MPID, MPculeID
import pytest
def test_mpid():
assert MPID("mp-3") == MPID("mp-3")
assert MPID("mp-3") < 3
assert MPID("mp-3") < MPID("np-3")
assert MPID("mp-3") > MPID("mp-2")
assert 3 > MPID("mp-3")
assert MPID(MPID("mp-1234")) < MPID(1234)
assert "mp-1234" < MPID(1234)
assert MPID("1234") > MPID("mp-1234")
assert MPID("1234") == MPID(1234)
assert MPID("1234") == "1234"
assert MPID("mp-12345") > MPID("mp-1234")
assert min(
[MPID("mp-44545"), MPID("mp-33"), MPID("mp-2134234"), MPID(33), MPID("33")]
) == MPID("mp-33")
assert (
len(set([MPID("mp-33"), MPID("mp-44545"), MPID("mp-33"), MPID("mp-2134234")]))
== 3
)
MPID(3)
ulid_mpid = MPID("01HMVV88CCQ6JQ2Y1N8F3ZTVWP-Li")
assert ulid_mpid.parts == ("01HMVV88CCQ6JQ2Y1N8F3ZTVWP", 0)
with pytest.raises(ValueError, match="MPID string representation must follow"):
MPID("GGIRADF")
def test_mpculeid():
assert MPculeID("b9ba54febc77d2a9177accf4605767db-F6Li1P1-1-2") == MPculeID(
"b9ba54febc77d2a9177accf4605767db-F6Li1P1-1-2"
)
assert (
MPculeID("b9ba54febc77d2a9177accf4605767db-F6Li1P1-1-2")
== "b9ba54febc77d2a9177accf4605767db-F6Li1P1-1-2"
)
assert MPculeID("b9ba54febc77d2a9177accf4605767db-F6Li1P1-1-2") < MPculeID(
"b9ba54febc77d2a9177accf4605767db-F6Li1P1-2-1"
)
assert MPculeID("b9ba54febc77d2a9177accf4605767db-F6Li1P1-2-1") > MPculeID(
"b9ba54febc77d2a9177accf4605767db-F6Li1P1-1-2"
)
assert MPculeID("mpcule-98bab8f3795eae3fd8e28f5ff2d476e8-C3H8-0-1") < MPculeID(
"b9ba54febc77d2a9177accf4605767db-F6Li1P1-1-2"
)
def test_to_str():
assert str(MPID("mp-149")) == "mp-149"
assert (
str(MPculeID("b9ba54febc77d2a9177accf4605767db-F6Li1P1-1-2"))
== "b9ba54febc77d2a9177accf4605767db-F6Li1P1-1-2"
)
|