def test_serialization(self): # Test base serialize-deserialize d = self.symm_rank2.as_dict() new = Tensor.from_dict(d) self.assertArrayAlmostEqual(new, self.symm_rank2) d = self.symm_rank3.as_dict(voigt=True) new = Tensor.from_dict(d) self.assertArrayAlmostEqual(new, self.symm_rank3)
def test_serialization(self): # Test base serialize-deserialize d = self.rand_sqtensor.as_dict() new = SquareTensor.from_dict(d) self.assertArrayAlmostEqual(new, self.rand_sqtensor) self.assertIsInstance(new, SquareTensor) # Ensure proper object-independent deserialization obj = MontyDecoder().process_decoded(d) self.assertIsInstance(obj, SquareTensor) with warnings.catch_warnings(record=True): vsym = self.rand_sqtensor.voigt_symmetrized d_vsym = vsym.as_dict(voigt=True) new_voigt = Tensor.from_dict(d_vsym) self.assertArrayAlmostEqual(vsym, new_voigt)