def METHOD_NAME(tmp_path):
    class TestDatasetSourceCopy1(TestDatasetSource):
        pass
    class TestDatasetSourceCopy2(TestDatasetSource):
        pass
    registry1 = DatasetSourceRegistry()
    registry1.register(TestDatasetSource)
    registry1.register(TestDatasetSourceCopy1)
    registry1.register(TestDatasetSourceCopy2)
    with mock.patch("mlflow.data.dataset_source_registry.warnings.warn") as mock_warn:
        registry1.resolve("test:/" + str(tmp_path))
        mock_warn.assert_called_once()
        call_args, _ = mock_warn.call_args
        multiple_match_msg = call_args[0]
        assert (
            "The specified dataset source can be interpreted in multiple ways" in multiple_match_msg
        )
        assert (
            "TestDatasetSource, TestDatasetSourceCopy1, TestDatasetSourceCopy2"
            in multiple_match_msg
        )
        assert (
            "MLflow will assume that this is a TestDatasetSourceCopy2 source" in multiple_match_msg
        )