def test_OKeeffe_Fe(self): """Test Routine O'Keeffe CN for BCC Fe""" cns = OKeeffe.get_avg_cn(self.fe_structure) for cation in cns: self.assertEqual(cation, "Fe", "Only atoms in BCC Fe should be Fe") self.assertIsInstance(cns[cation], float, "Averaged cation should be a float") self.assertGreaterEqual(cns[cation], 8, "Fe coordination should be 8 (OKeeffe tends to overestimate)")
def test_OKeeffe_CaF2(self): """Test Routine O'Keeffe CN for CaF2""" cns = OKeeffe.get_avg_cn(self.caf2_structure) for cation in cns: self.assertTrue(cation == "Ca" or cation == "F", "Only ions in CaF2 should be Ca and F") self.assertIsInstance(cns[cation], float, "Averaged cation should be a float") if cation == "Ca": self.assertGreaterEqual(cns[cation], 8, "Ca coordination should be 8 (OKeeffe tends to overestimate)") if cation == "F": self.assertGreaterEqual(cns[cation], 4, "F coordination should be 4 (OKeeffe tends to overestimate)")
def test_OKeeffe_LiCoO2(self): """Test Routine O'Keeffe CN for LiCoO2""" cns = OKeeffe.get_avg_cn(self.licoo2_structure) for cation in cns: self.assertTrue(cation == "Li" or cation == "Co" or cation == "O", "Only ions in LiCoO2 should be Li, Co, and O") self.assertIsInstance(cns[cation], float, "Averaged cation should be a float") if cation == "Li": self.assertGreaterEqual(cns[cation], 6, "Li coordination should be 6 (OKeeffe tends to overestimate)") if cation == "Co": self.assertGreaterEqual(cns[cation], 6, "Co coordination should be 6 (OKeeffe tends to overestimate)") if cation == "O": self.assertGreaterEqual(cns[cation], 6, "O coordination should be 6 (OKeeffe tends to overestimate)")