test_models.py•1.03 kB
from __future__ import annotations
from uniprot_mcp.models.domain import Entry, Feature, MappingResult, Sequence
def test_entry_defaults():
entry = Entry(accession="P12345", reviewed=True)
assert entry.accession == "P12345"
assert entry.reviewed is True
assert entry.sequence is None
assert entry.gene_symbols == []
def test_sequence_model_supports_optional_fields():
sequence = Sequence(length=10, value="MEEPQSDPSV", mol_weight=11023.0, crc64="ABC")
assert sequence.length == 10
assert sequence.crc64 == "ABC"
def test_mapping_result_dedicated_structure():
mapping = MappingResult(
from_db="UniProtKB_AC-ID",
to_db="Ensembl",
results={"P12345": ["ENSP1"]},
)
assert mapping.results["P12345"] == ["ENSP1"]
def test_feature_accepts_evidence_list():
feature = Feature(
type="CHAIN",
start=1,
end=100,
description="Example",
evidence=["ECO:0000256"],
)
assert feature.evidence == ["ECO:0000256"]