2024-07-05 17:42:00 +08:00
|
|
|
from abc import ABC, abstractmethod
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Scenario(ABC):
|
|
|
|
|
@property
|
|
|
|
|
@abstractmethod
|
2024-07-18 22:36:04 +08:00
|
|
|
def background(self) -> str:
|
2024-07-05 17:42:00 +08:00
|
|
|
"""Background information"""
|
|
|
|
|
|
|
|
|
|
@property
|
|
|
|
|
@abstractmethod
|
2024-07-18 22:36:04 +08:00
|
|
|
def source_data(self) -> str:
|
2024-07-05 17:42:00 +08:00
|
|
|
"""Source data description"""
|
|
|
|
|
|
|
|
|
|
@property
|
|
|
|
|
@abstractmethod
|
2024-07-18 22:36:04 +08:00
|
|
|
def interface(self) -> str:
|
2024-07-05 17:42:00 +08:00
|
|
|
"""Interface description about how to run the code"""
|
|
|
|
|
|
|
|
|
|
@property
|
|
|
|
|
@abstractmethod
|
2024-07-18 22:36:04 +08:00
|
|
|
def output_format(self) -> str:
|
2024-07-05 17:42:00 +08:00
|
|
|
"""Output format description"""
|
|
|
|
|
|
|
|
|
|
@property
|
|
|
|
|
@abstractmethod
|
2024-07-18 22:36:04 +08:00
|
|
|
def simulator(self) -> str:
|
2024-07-05 17:42:00 +08:00
|
|
|
"""Simulator description"""
|
|
|
|
|
|
|
|
|
|
@abstractmethod
|
|
|
|
|
def get_scenario_all_desc(self) -> str:
|
|
|
|
|
"""Combine all the description together"""
|