示例#1
0
    def test_custom_subsystem(self):
        lattice = Lattice([8, 8], 2)
        subsystem = CustomSubsystem(lambda site: site.bs[0] % 2 == 0, lattice)

        inside = set()
        for site in lattice:
            if site in subsystem:
                inside.add(site)
            else:
                with pytest.raises(ValueError):
                    subsystem.index(site)

        assert len(inside) == len(subsystem)

        for i, site in enumerate(subsystem):
            assert subsystem[i] == site
            assert subsystem.index(site) == i
            inside.remove(site)

        assert len(inside) == 0