30
30
from pymatgen .core .periodic_table import DummySpecies , Element
31
31
from pymatgen .entries .computed_entries import ComputedEntry
32
32
from pymatgen .entries .entry_tools import EntrySet
33
+ from pymatgen .util .testing import PymatgenTest
33
34
34
35
module_dir = Path (__file__ ).absolute ().parent
35
36
@@ -93,7 +94,7 @@ def test_str(self):
93
94
assert str (pde ) == "PDEntry : Li1 Fe1 O2 with energy = 53.0000"
94
95
95
96
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" )
97
98
assert entries .chemsys == {"Li" , "Fe" , "O" }, "Wrong elements!"
98
99
assert len (entries ) == 490 , "Wrong number of entries!"
99
100
@@ -147,9 +148,9 @@ def test_normalize(self):
147
148
assert norm_entry .composition == expected_comp , "Wrong composition!"
148
149
149
150
150
- class PhaseDiagramTest (unittest . TestCase ):
151
+ class PhaseDiagramTest (PymatgenTest ):
151
152
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" )
153
154
self .pd = PhaseDiagram (self .entries )
154
155
warnings .simplefilter ("ignore" )
155
156
@@ -590,8 +591,10 @@ def test_to_from_dict(self):
590
591
assert isinstance (pd .to_json (), str )
591
592
592
593
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 ()}
595
598
596
599
def test_el_refs (self ):
597
600
# 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):
611
614
612
615
class GrandPotentialPhaseDiagramTest (unittest .TestCase ):
613
616
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" )
615
618
self .pd = GrandPotentialPhaseDiagram (self .entries , {Element ("O" ): - 5 })
616
619
self .pd6 = GrandPotentialPhaseDiagram (self .entries , {Element ("O" ): - 6 })
617
620
@@ -645,7 +648,7 @@ def test_str(self):
645
648
646
649
class CompoundPhaseDiagramTest (unittest .TestCase ):
647
650
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" )
649
652
self .pd = CompoundPhaseDiagram (self .entries , [Composition ("Li2O" ), Composition ("Fe2O3" )])
650
653
651
654
def test_stable_entries (self ):
@@ -843,7 +846,7 @@ def test_formula(self):
843
846
844
847
class PDPlotterTest (unittest .TestCase ):
845
848
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" )))
847
850
848
851
elemental_entries = [e for e in entries if e .composition .elements == [Element ("Li" )]]
849
852
self .pd_unary = PhaseDiagram (elemental_entries )
0 commit comments