Skip to content

Commit d757629

Browse files
committed
fix PhaseDiagramTest.test_read_json() pollutes repo when failing
1 parent 7706d5a commit d757629

File tree

2 files changed

+11
-8
lines changed

2 files changed

+11
-8
lines changed
File renamed without changes.

pymatgen/analysis/tests/test_phase_diagram.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
from pymatgen.core.periodic_table import DummySpecies, Element
3131
from pymatgen.entries.computed_entries import ComputedEntry
3232
from pymatgen.entries.entry_tools import EntrySet
33+
from pymatgen.util.testing import PymatgenTest
3334

3435
module_dir = Path(__file__).absolute().parent
3536

@@ -93,7 +94,7 @@ def test_str(self):
9394
assert str(pde) == "PDEntry : Li1 Fe1 O2 with energy = 53.0000"
9495

9596
def test_read_csv(self):
96-
entries = EntrySet.from_csv(module_dir / "pdentries_test.csv")
97+
entries = EntrySet.from_csv(module_dir / "pd_entries_test.csv")
9798
assert entries.chemsys == {"Li", "Fe", "O"}, "Wrong elements!"
9899
assert len(entries) == 490, "Wrong number of entries!"
99100

@@ -147,9 +148,9 @@ def test_normalize(self):
147148
assert norm_entry.composition == expected_comp, "Wrong composition!"
148149

149150

150-
class PhaseDiagramTest(unittest.TestCase):
151+
class PhaseDiagramTest(PymatgenTest):
151152
def setUp(self):
152-
self.entries = EntrySet.from_csv(module_dir / "pdentries_test.csv")
153+
self.entries = EntrySet.from_csv(module_dir / "pd_entries_test.csv")
153154
self.pd = PhaseDiagram(self.entries)
154155
warnings.simplefilter("ignore")
155156

@@ -590,8 +591,10 @@ def test_to_from_dict(self):
590591
assert isinstance(pd.to_json(), str)
591592

592593
def test_read_json(self):
593-
dumpfn(self.pd, "pd.json")
594-
loadfn("pd.json")
594+
dumpfn(self.pd, f"{self.tmp_path}/pd.json")
595+
pd = loadfn(f"{self.tmp_path}/pd.json")
596+
assert isinstance(pd, PhaseDiagram)
597+
assert {*pd.as_dict()} == {*self.pd.as_dict()}
595598

596599
def test_el_refs(self):
597600
# Create an imitation of pre_computed phase diagram with el_refs keys being
@@ -611,7 +614,7 @@ def test_val_err_on_no_entries(self):
611614

612615
class GrandPotentialPhaseDiagramTest(unittest.TestCase):
613616
def setUp(self):
614-
self.entries = EntrySet.from_csv(module_dir / "pdentries_test.csv")
617+
self.entries = EntrySet.from_csv(module_dir / "pd_entries_test.csv")
615618
self.pd = GrandPotentialPhaseDiagram(self.entries, {Element("O"): -5})
616619
self.pd6 = GrandPotentialPhaseDiagram(self.entries, {Element("O"): -6})
617620

@@ -645,7 +648,7 @@ def test_str(self):
645648

646649
class CompoundPhaseDiagramTest(unittest.TestCase):
647650
def setUp(self):
648-
self.entries = EntrySet.from_csv(module_dir / "pdentries_test.csv")
651+
self.entries = EntrySet.from_csv(module_dir / "pd_entries_test.csv")
649652
self.pd = CompoundPhaseDiagram(self.entries, [Composition("Li2O"), Composition("Fe2O3")])
650653

651654
def test_stable_entries(self):
@@ -843,7 +846,7 @@ def test_formula(self):
843846

844847
class PDPlotterTest(unittest.TestCase):
845848
def setUp(self):
846-
entries = list(EntrySet.from_csv(os.path.join(module_dir, "pdentries_test.csv")))
849+
entries = list(EntrySet.from_csv(os.path.join(module_dir, "pd_entries_test.csv")))
847850

848851
elemental_entries = [e for e in entries if e.composition.elements == [Element("Li")]]
849852
self.pd_unary = PhaseDiagram(elemental_entries)

0 commit comments

Comments
 (0)