async def METHOD_NAME(self, **kwargs):
    storage_account_name = kwargs.pop("storage_account_name")
    storage_account_key = kwargs.pop("storage_account_key")
    self._setup()
    bsc = BlobServiceClient(
        self.account_url(storage_account_name, "blob"),
        credential=storage_account_key,
        connection_data_block_size=4 * 1024,
        max_page_size=4 * 1024,
        api_version=self.api_version_1)
    container = await self._create_container(bsc)
    blob_name = self._get_blob_reference()
    blob = container.get_blob_client(blob_name)
    await blob.create_page_blob(2048)
    data = self.get_random_bytes(1536)
    snapshot1 = await blob.create_snapshot()
    await blob.upload_page(data, offset=0, length=1536)
    snapshot2 = await blob.create_snapshot()
    await blob.clear_page(offset=512, length=512)
    # Act
    ranges1, cleared1 = await blob.get_page_ranges(previous_snapshot_diff=snapshot1)
    ranges2, cleared2 = await blob.get_page_ranges(previous_snapshot_diff=snapshot2['snapshot'])
    # Assert
    assert ranges1 is not None
    assert isinstance(ranges1, list)
    assert len(ranges1) == 2
    assert isinstance(cleared1, list)
    assert len(cleared1) == 1
    assert ranges1[0]['start'] == 0
    assert ranges1[0]['end'] == 511
    assert cleared1[0]['start'] == 512
    assert cleared1[0]['end'] == 1023
    assert ranges1[1]['start'] == 1024
    assert ranges1[1]['end'] == 1535
    assert ranges2 is not None
    assert isinstance(ranges2, list)
    assert len(ranges2) == 0
    assert isinstance(cleared2, list)
    assert len(cleared2) == 1
    assert cleared2[0]['start'] == 512
    assert cleared2[0]['end'] == 1023