當前位置: 首頁>>代碼示例>>Python>>正文


Python Site.__hash__方法代碼示例

本文整理匯總了Python中pymatgen.core.sites.Site.__hash__方法的典型用法代碼示例。如果您正苦於以下問題:Python Site.__hash__方法的具體用法?Python Site.__hash__怎麽用?Python Site.__hash__使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在pymatgen.core.sites.Site的用法示例。


在下文中一共展示了Site.__hash__方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: SiteTest

# 需要導入模塊: from pymatgen.core.sites import Site [as 別名]
# 或者: from pymatgen.core.sites.Site import __hash__ [as 別名]
class SiteTest(PymatgenTest):

    def setUp(self):
        self.ordered_site = Site("Fe", [0.25, 0.35, 0.45])
        self.disordered_site = Site({"Fe": 0.5, "Mn": 0.5},
                                    [0.25, 0.35, 0.45])
        self.propertied_site = Site("Fe2+", [0.25, 0.35, 0.45],
                                    {'magmom': 5.1, 'charge': 4.2})
        self.dummy_site = Site("X", [0, 0, 0])

    def test_properties(self):
        self.assertRaises(AttributeError, getattr, self.disordered_site,
                          'specie')
        self.assertIsInstance(self.ordered_site.specie, Element)
        self.assertEqual(self.propertied_site.properties["magmom"], 5.1)
        self.assertEqual(self.propertied_site.properties["charge"], 4.2)

    def test_to_from_dict(self):
        d = self.disordered_site.as_dict()
        site = Site.from_dict(d)
        self.assertEqual(site, self.disordered_site)
        self.assertNotEqual(site, self.ordered_site)
        d = self.propertied_site.as_dict()
        site = Site.from_dict(d)
        self.assertEqual(site.properties["magmom"], 5.1)
        self.assertEqual(site.properties["charge"], 4.2)
        d = self.dummy_site.as_dict()
        site = Site.from_dict(d)
        self.assertEqual(site.species, self.dummy_site.species)

    def test_hash(self):
        self.assertEqual(self.ordered_site.__hash__(), 26)
        self.assertEqual(self.disordered_site.__hash__(), 51)

    def test_cmp(self):
        self.assertTrue(self.ordered_site > self.disordered_site)

    def test_distance(self):
        osite = self.ordered_site
        self.assertAlmostEqual(np.linalg.norm([0.25, 0.35, 0.45]),
                               osite.distance_from_point([0, 0, 0]))
        self.assertAlmostEqual(osite.distance(self.disordered_site), 0)

    def test_pickle(self):
        o = pickle.dumps(self.propertied_site)
        self.assertEqual(pickle.loads(o), self.propertied_site)

    def test_setters(self):
        self.disordered_site.species = "Cu"
        self.assertEqual(self.disordered_site.species, Composition("Cu"))
        self.disordered_site.x = 1.25
        self.disordered_site.y = 1.35
        self.assertEqual(self.disordered_site.coords[0], 1.25)
        self.assertEqual(self.disordered_site.coords[1], 1.35)

        def set_bad_species():
            self.disordered_site.species = {"Cu": 0.5, "Gd": 0.6}
        self.assertRaises(ValueError, set_bad_species)
開發者ID:adengz,項目名稱:pymatgen,代碼行數:60,代碼來源:test_sites.py

示例2: SiteTest

# 需要導入模塊: from pymatgen.core.sites import Site [as 別名]
# 或者: from pymatgen.core.sites.Site import __hash__ [as 別名]
class SiteTest(PymatgenTest):

    def setUp(self):
        self.ordered_site = Site("Fe", [0.25, 0.35, 0.45])
        self.disordered_site = Site({"Fe": 0.5, "Mn": 0.5},
                                    [0.25, 0.35, 0.45])
        self.propertied_site = Site("Fe2+", [0.25, 0.35, 0.45],
                                    {'magmom': 5.1, 'charge': 4.2})
        self.dummy_site = Site("X", [0, 0, 0])

    def test_properties(self):
        self.assertRaises(AttributeError, getattr, self.disordered_site,
                          'specie')
        self.assertIsInstance(self.ordered_site.specie, Element)
        self.assertEqual(self.propertied_site.magmom, 5.1)
        self.assertEqual(self.propertied_site.charge, 4.2)

    def test_to_from_dict(self):
        d = self.disordered_site.as_dict()
        site = Site.from_dict(d)
        self.assertEqual(site, self.disordered_site)
        self.assertNotEqual(site, self.ordered_site)
        d = self.propertied_site.as_dict()
        site = Site.from_dict(d)
        self.assertEqual(site.magmom, 5.1)
        self.assertEqual(site.charge, 4.2)
        d = self.dummy_site.as_dict()
        site = Site.from_dict(d)
        self.assertEqual(site.species_and_occu, self.dummy_site.species_and_occu)

    def test_hash(self):
        self.assertEqual(self.ordered_site.__hash__(), 26)
        self.assertEqual(self.disordered_site.__hash__(), 51)

    def test_cmp(self):
        self.assertTrue(self.ordered_site > self.disordered_site)

    def test_distance(self):
        osite = self.ordered_site
        self.assertAlmostEqual(np.linalg.norm([0.25, 0.35, 0.45]),
                               osite.distance_from_point([0, 0, 0]))
        self.assertAlmostEqual(osite.distance(self.disordered_site), 0)

    def test_pickle(self):
        o = pickle.dumps(self.propertied_site)
        self.assertEqual(pickle.loads(o), self.propertied_site)
開發者ID:albalu,項目名稱:pymatgen,代碼行數:48,代碼來源:test_sites.py

示例3: SiteTest

# 需要導入模塊: from pymatgen.core.sites import Site [as 別名]
# 或者: from pymatgen.core.sites.Site import __hash__ [as 別名]
class SiteTest(unittest.TestCase):

    def setUp(self):
        self.ordered_site = Site(Element("Fe"), [0.25, 0.35, 0.45])
        self.disordered_site = Site({Element("Fe"): 0.5, Element("Mn"): 0.5},
                                    [0.25, 0.35, 0.45])
        self.propertied_site = Site(Specie("Fe", 2), [0.25, 0.35, 0.45],
                                    {'magmom': 5.1, 'charge': 4.2})

    def test_init(self):
        self.assertRaises(ValueError, Site, Specie("Fe", 2),
                          [0.25, 0.35, 0.45], {'mag': 5.1})

    def test_properties(self):
        self.assertRaises(AttributeError, getattr, self.disordered_site,
                          'specie')
        self.assertIsInstance(self.ordered_site.specie, Element)
        self.assertEqual(self.propertied_site.magmom, 5.1)
        self.assertEqual(self.propertied_site.charge, 4.2)

    def test_to_from_dict(self):
        d = self.disordered_site.to_dict
        site = Site.from_dict(d)
        self.assertEqual(site, self.disordered_site)
        self.assertNotEqual(site, self.ordered_site)
        d = self.propertied_site.to_dict
        site = Site.from_dict(d)
        self.assertEqual(site.magmom, 5.1)
        self.assertEqual(site.charge, 4.2)

    def test_hash(self):
        self.assertEqual(self.ordered_site.__hash__(), 26)
        self.assertEqual(self.disordered_site.__hash__(), 25.5)

    def test_cmp(self):
        self.assertTrue(self.ordered_site > self.disordered_site)

    def test_distance(self):
        osite = self.ordered_site
        self.assertAlmostEqual(np.linalg.norm([0.25, 0.35, 0.45]),
                               osite.distance_from_point([0, 0, 0]))
        self.assertAlmostEqual(osite.distance(self.disordered_site), 0)

    def test_pickle(self):
        o = pickle.dumps(self.propertied_site)
        self.assertEqual(pickle.loads(o), self.propertied_site)
開發者ID:jesuansito,項目名稱:pymatgen,代碼行數:48,代碼來源:test_sites.py


注:本文中的pymatgen.core.sites.Site.__hash__方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。