class ScenarioConfig:
    def __init__(self, name, path, num_workers, description=""):
        self.name = name
        self.path = path
        self.num_workers = num_workers
        self.description = description


# Add new configuration to this list
SCENARIOS = [
    ScenarioConfig(
        name="non_behavioral",
        path="s3://zoox-mined-metrics/mined_benchmark_data/pisces/benchmark_data_pisces_cr_runs.pbtxt",
        num_workers=20,
        description="""Test set of 600+ logs. These are constructed by chunking up an SF challenge route
                       run, a SLAC challenge route, and highway driving.""",
    ),
    ScenarioConfig(
        name="humans",
        path="/mnt/nautilus_rw/echu/benchmark_data_pisces_human_references.pbtxt",
        num_workers=10,
        description="Test set of 30 logs. These logs are from manual driving by human drivers.",
    ),
    ScenarioConfig(
        name="highway",
        path="s3://zoox-web/echu/benchmark_data_pisces_highway_v1.pbtxt",
        num_workers=10,
        description="Test set of 25 logs that contains hero driving on highway.",
    ),
    ScenarioConfig(
        name="scenarios_wo_ntlj_cases",
        path="/mnt/nautilus_rw/dyang/benchmark_data_pisces_without_ntlj_involved_runs.pbtxt",
        num_workers=20,
        description="""Test set has about 500+ logs. Theses logs are created by filtering out
            HeroJunctionProceedRule(HJPR)-related scenarios from the default benchmark set. The purpose of
            the log set is to test whether a newly developed HJPR-related feature affect non-HJPR scenarios.""",
    ),
    ScenarioConfig(
        name="prediction_smoke_test",
        path="s3://zoox-mined-metrics/mined_benchmark_data/pisces/pred_smoke_test_set.pbtxt",
        num_workers=100,
        description="""Test set that has 200 short logs that contains various events useful for prediction
            testing. See below for more details.
            s3://zoox-mined-metrics/mined_benchmark_data/pisces/pred_smoke_test_set.README""",
    ),
    ScenarioConfig(
        name="non_determinism",
        path="s3://zoox-mined-metrics/mined_benchmark_data/pisces/non_determinism.pbtxt",
        num_workers=10,
        description="""A small test set with (<10) short logs that were found to expose non-deterministic
            outputs from the prediction and planner stacks.""",
    ),
]
