| from __future__ import annotations | |
| import pytest | |
| pytest.importorskip("rdkit") | |
| from pino.registry import AromaRegistry | |
| def test_name_lookup_prefers_real_cas_over_smiles_pseudo_key(tmp_path): | |
| registry = AromaRegistry(tmp_path / "registry.db") | |
| try: | |
| base = { | |
| "name": "alpha-pinene", | |
| "smiles": "CC1=CCC2CC1C2(C)C", | |
| "molecular_weight": 136.24, | |
| "unifac_groups": {}, | |
| "openpom_embedding": [], | |
| "shape_3d_features": [], | |
| } | |
| registry.add({**base, "cas": "SMILES:CC1=CCC2CC1C2(C)C", "vapor_pressure_pa": 8.396}) | |
| registry.add({**base, "cas": "80-56-8", "vapor_pressure_pa": 633.281}) | |
| result = registry.get("alpha-pinene") | |
| assert result is not None | |
| assert result["cas"] == "80-56-8" | |
| assert result["vapor_pressure_pa"] == 633.281 | |
| finally: | |
| registry.close() | |