def test_enforce_boundary_without_boundary_conditions(): lattice = Lattice([24, 4]) # BravaisSite assert lattice.enforce_boundary((24, 3), False) == (0, 3) assert lattice.enforce_boundary((-1, 4), False) == (23, 0) # LatticeSite assert lattice.enforce_boundary(LatticeSite((-1, 0)), False) == LatticeSite((23, 0)) with pytest.raises(AssertionError): lattice.enforce_boundary(LatticeSite((-1, 0), 1), False)
def test_enforce_boundary_with_boundary_conditions(): lattice = Lattice([8, 8], 2) # BravaisSite assert lattice.enforce_boundary((4, 4), (periodic, periodic)) == ((4, 4), 1) assert lattice.enforce_boundary((4, 4), (antiperiodic, antiperiodic)) == ((4, 4), 1) assert lattice.enforce_boundary((13, 4), (periodic, periodic)) == ((5, 4), 1) assert lattice.enforce_boundary((13, 4), (antiperiodic, periodic)) == ((5, 4), -1) assert lattice.enforce_boundary((-3, 4), (antiperiodic, periodic)) == ((5, 4), -1) assert lattice.enforce_boundary((-3, 4), (antiperiodic, open_bc)) == ((5, 4), -1) assert lattice.enforce_boundary((-3, 4), (open_bc, periodic)) == ((5, 4), 0) # LatticeSite assert lattice.enforce_boundary(LatticeSite((-3, 4), 1), (antiperiodic, periodic)) == (LatticeSite([5, 4], 1), -1)