Skip to content

Commit

Permalink
Add tests + lint
Browse files Browse the repository at this point in the history
  • Loading branch information
munrojm committed Aug 11, 2022
1 parent 825d109 commit 386c0a6
Show file tree
Hide file tree
Showing 3 changed files with 50 additions and 42 deletions.
1 change: 0 additions & 1 deletion emmet-api/emmet/api/routes/electrodes/query_operators.py
Original file line number Diff line number Diff line change
Expand Up @@ -331,4 +331,3 @@ def query(
crit.update({"battery_id": {"$in": battery_id_list}})

return {"criteria": crit}

83 changes: 42 additions & 41 deletions tests/emmet-api/electrodes/test_query_operators.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
VoltageStepQuery,
InsertionVoltageStepQuery,
WorkingIonQuery,
ElectrodeMultiMaterialIDQuery,
MultiBatteryIDQuery,
)

from monty.tempfile import ScratchDir
Expand Down Expand Up @@ -38,23 +40,16 @@ def test_electrode_formula_query():

def test_electrodes_chemsys_query():
op = ElectrodesChemsysQuery()
assert op.query("Si-O") == {
"criteria": {"entries_composition_summary.all_chemsys": "O-Si"}
}
assert op.query("Si-O") == {"criteria": {"entries_composition_summary.all_chemsys": "O-Si"}}

assert op.query("Si-*") == {
"criteria": {
"nelements": {"$in": [2, 1]},
"entries_composition_summary.all_elements": {"$all": ["Si"]},
}
"criteria": {"nelements": {"$in": [2, 1]}, "entries_composition_summary.all_elements": {"$all": ["Si"]}}
}

with ScratchDir("."):
dumpfn(op, "temp.json")
new_op = loadfn("temp.json")
assert new_op.query("Si-O") == {
"criteria": {"entries_composition_summary.all_chemsys": "O-Si"}
}
assert new_op.query("Si-O") == {"criteria": {"entries_composition_summary.all_chemsys": "O-Si"}}


def test_electrodes_elements_query():
Expand All @@ -63,26 +58,14 @@ def test_electrodes_elements_query():

op = ElectrodeElementsQuery()
assert op.query(elements=",".join(eles), exclude_elements=",".join(neles)) == {
"criteria": {
"entries_composition_summary.all_elements": {
"$all": ["Si", "O"],
"$nin": ["N", "P"],
}
}
"criteria": {"entries_composition_summary.all_elements": {"$all": ["Si", "O"], "$nin": ["N", "P"]}}
}

with ScratchDir("."):
dumpfn(op, "temp.json")
new_op = loadfn("temp.json")
assert new_op.query(
elements=",".join(eles), exclude_elements=",".join(neles)
) == {
"criteria": {
"entries_composition_summary.all_elements": {
"$all": ["Si", "O"],
"$nin": ["N", "P"],
}
}
assert new_op.query(elements=",".join(eles), exclude_elements=",".join(neles)) == {
"criteria": {"entries_composition_summary.all_elements": {"$all": ["Si", "O"], "$nin": ["N", "P"]}}
}


Expand Down Expand Up @@ -158,12 +141,7 @@ def test_voltage_step_query():
def test_insertion_voltage_step_query():
op = InsertionVoltageStepQuery()

q = op.query(
stability_charge_min=0,
stability_charge_max=5,
stability_discharge_min=0,
stability_discharge_max=5,
)
q = op.query(stability_charge_min=0, stability_charge_max=5, stability_discharge_min=0, stability_discharge_max=5,)

fields = [
"stability_charge",
Expand All @@ -176,28 +154,51 @@ def test_insertion_voltage_step_query():
dumpfn(op, "temp.json")
new_op = loadfn("temp.json")
q = new_op.query(
stability_charge_min=0,
stability_charge_max=5,
stability_discharge_min=0,
stability_discharge_max=5,
stability_charge_min=0, stability_charge_max=5, stability_discharge_min=0, stability_discharge_max=5,
)
assert q == {"criteria": {field: {"$gte": 0, "$lte": 5} for field in fields}}


def test_insertion_electrode_query():
op = WorkingIonQuery()

q = op.query(
working_ion="Li",
)
q = op.query(working_ion="Li",)

assert q == {"criteria": {"working_ion": "Li"}}

with ScratchDir("."):
dumpfn(op, "temp.json")
new_op = loadfn("temp.json")
q = new_op.query(
working_ion="Li",
)
q = new_op.query(working_ion="Li",)

assert q == {"criteria": {"working_ion": "Li"}}


def test_electrodes_multi_material_id_query():
op = ElectrodeMultiMaterialIDQuery()
assert op.query(material_ids="mp-149, mp-13") == {"criteria": {"material_ids": {"$in": ["mp-149", "mp-13"]}}}

with ScratchDir("."):
dumpfn(op, "temp.json")
new_op = loadfn("temp.json")
assert new_op.query(material_ids="mp-149, mp-13") == {
"criteria": {"material_ids": {"$in": ["mp-149", "mp-13"]}}
}


def test_multi_battery_id_query():
op = MultiBatteryIDQuery()
assert op.query(battery_ids="mp-149_Ca, mp-13_Li") == {
"criteria": {"battery_id": {"$in": ["mp-149_Ca", "mp-13_Li"]}}
}

assert op.query(battery_ids="mp-149_Ca") == {"criteria": {"battery_id": "mp-149_Ca"}}

with ScratchDir("."):
dumpfn(op, "temp.json")
new_op = loadfn("temp.json")
assert new_op.query(battery_ids="mp-149_Ca, mp-13_Li") == {
"criteria": {"battery_id": {"$in": ["mp-149_Ca", "mp-13_Li"]}}
}

assert new_op.query(battery_ids="mp-149_Ca") == {"criteria": {"battery_id": "mp-149_Ca"}}
8 changes: 8 additions & 0 deletions tests/emmet-api/materials/test_query_operators.py
Original file line number Diff line number Diff line change
Expand Up @@ -132,13 +132,21 @@ def test_multi_material_id_query():
"criteria": {"material_id": {"$in": ["mp-149", "mp-13"]}}
}

assert op.query(material_ids="mp-149") == {
"criteria": {"material_id": "mp-149"}
}

with ScratchDir("."):
dumpfn(op, "temp.json")
new_op = loadfn("temp.json")
assert new_op.query(material_ids="mp-149, mp-13") == {
"criteria": {"material_id": {"$in": ["mp-149", "mp-13"]}}
}

assert op.query(material_ids="mp-149") == {
"criteria": {"material_id": "mp-149"}
}


def test_find_structure_query():
op = FindStructureQuery()
Expand Down

0 comments on commit 386c0a6

Please sign in to comment.