"""
=========================================
CV6 AI Trading OS
Backtest Validator
=========================================
"""

from app.backtest.backtest_models import BacktestRequest


class BacktestValidator:

    @staticmethod
    def validate(request: BacktestRequest):

        if request.strategy_name.strip() == "":
            raise ValueError(
                "Strategy name cannot be empty."
            )

        if request.initial_capital <= 0:
            raise ValueError(
                "Initial capital must be greater than zero."
            )

        if request.start_date.strip() == "":
            raise ValueError(
                "Start date cannot be empty."
            )

        if request.end_date.strip() == "":
            raise ValueError(
                "End date cannot be empty."
            )

        return True