def test_to_from_dict(self): # test round-trip for other entry types such as ComputedEntry entry = ComputedEntry("H", 0.0, 0.0, entry_id="test") pd = PhaseDiagram([entry]) d = pd.as_dict() pd_roundtrip = PhaseDiagram.from_dict(d) self.assertEqual(pd.all_entries[0].entry_id, pd_roundtrip.all_entries[0].entry_id) dd = self.pd.as_dict() new_pd = PhaseDiagram.from_dict(dd) new_dd = new_pd.as_dict() self.assertEqual(new_dd, dd) self.assertIsInstance(pd.to_json(), str)
def from_dict(cls, d): """ Constructor of PressureReservoirs object from dictionary representation. Parameters ---------- d : dict Returns ------- PressureReservoirs object. """ res_dict = {} for res, chempots in d['res_dict'].items(): res_dict[res] = {Element(el): chempots[el] for el in chempots} temperature = d['temperature'] if 'temperature' in d.keys() else None if 'phase_diagram' in d.keys() and d['phase_diagram'] is not None: phase_diagram = PhaseDiagram.from_dict(d['phase_diagram']) else: phase_diagram = None mu_refs = d['mu_refs'] if 'mu_refs' in d.keys() else None are_chempots_delta = d['are_chempots_delta'] return cls(res_dict, temperature, phase_diagram, mu_refs, are_chempots_delta)
def test_to_from_dict(self): # test round-trip for other entry types such as ComputedEntry entry = ComputedEntry("H", 0.0, 0.0, entry_id="test") pd = PhaseDiagram([entry]) d = pd.as_dict() pd_roundtrip = PhaseDiagram.from_dict(d) self.assertEqual(pd.all_entries[0].entry_id, pd_roundtrip.all_entries[0].entry_id)