def test_class1(self, setup): class Test(SuperCellChild): def __init__(self, sc): self.set_supercell(sc) def eigh(self, k, *args, **kwargs): return np.arange(3) def eig(self, k, *args, **kwargs): return np.arange(3) - 1 bz = BrillouinZone(Test(setup.s1)) str(bz) assert np.allclose(bz.eigh(), np.arange(3)) assert np.allclose(bz.eig(), np.arange(3)-1)
def test_class2(self): class Test(SuperCellChild): def __init__(self, sc): self.set_supercell(sc) def eigh(self, k, *args, **kwargs): return np.arange(3) def eig(self, k, *args, **kwargs): return np.arange(3) - 1 bz = BrillouinZone(Test(self.s1)) # Yields bz.yields() for val in bz.eigh(): assert_true(np.allclose(val, np.arange(3))) for val in bz.eig(): assert_true(np.allclose(val, np.arange(3) - 1)) # Average assert_true(np.allclose(bz.average().eigh(), np.arange(3)))
def test_class2(self, setup): class Test(SuperCellChild): def __init__(self, sc): self.set_supercell(sc) def eigh(self, k, *args, **kwargs): return np.arange(3) def eig(self, k, *args, **kwargs): return np.arange(3) - 1 bz = BrillouinZone(Test(setup.s1)) # Try the list/yield method bz.aslist() for val in bz.eigh(): assert np.allclose(val, np.arange(3)) bz.asyield() for val in bz.eigh(): assert np.allclose(val, np.arange(3)) for val in bz.eig(): assert np.allclose(val, np.arange(3) - 1) # Average assert np.allclose(bz.asaverage().eigh(), np.arange(3)) assert np.allclose(bz.asaverage().eigh(eta=True), np.arange(3))