def METHOD_NAME(
    self, monkeypatch: MonkeyPatch, tmp_path: Path, request: SubRequest
) -> FAIR1M:
    monkeypatch.setattr(torchgeo.datasets.fair1m, "download_url", download_url)
    urls = {
        "train": (
            os.path.join(self.test_root, "train", "part1", "images.zip"),
            os.path.join(self.test_root, "train", "part1", "labelXml.zip"),
            os.path.join(self.test_root, "train", "part2", "images.zip"),
            os.path.join(self.test_root, "train", "part2", "labelXmls.zip"),
        ),
        "val": (
            os.path.join(self.test_root, "validation", "images.zip"),
            os.path.join(self.test_root, "validation", "labelXmls.zip"),
        ),
        "test": (
            os.path.join(self.test_root, "test", "images0.zip"),
            os.path.join(self.test_root, "test", "images1.zip"),
            os.path.join(self.test_root, "test", "images2.zip"),
        ),
    }
    md5s = {
        "train": (
            "ffbe9329e51ae83161ce24b5b46dc934",
            "2db6fbe64be6ebb0a03656da6c6effe7",
            "401b0f1d75d9d23f2e088bfeaf274cfa",
            "d62b18eae8c3201f6112c2e9db84d605",
        ),
        "val": (
            "83d2f06574fc7158ded0eb1fb256c8fe",
            "316490b200503c54cf43835a341b6dbe",
        ),
        "test": (
            "3c02845752667b96a5749c90c7fdc994",
            "9359107f1d0abac6a5b98725f4064bc0",
            "d7bc2985c625ffd47d86cdabb2a9d2bc",
        ),
    }
    monkeypatch.setattr(FAIR1M, "urls", urls)
    monkeypatch.setattr(FAIR1M, "md5s", md5s)
    root = str(tmp_path)
    split = request.param
    transforms = nn.Identity()
    return FAIR1M(root, split, transforms, download=True, checksum=True)