Coverage for source/utils/validator_from_string_converter.py: 100%
9 statements
« prev ^ index » next coverage.py v7.8.0, created at 2025-05-30 15:13 +0000
« prev ^ index » next coverage.py v7.8.0, created at 2025-05-30 15:13 +0000
1# utils/validator_from_string_converter.py
3from typing import Any, Type
5from .base_from_string_converter import BaseFromStringConverter
6from ..environment.points_reward_validator import PointsRewardValidator
7from ..environment.price_reward_validator import PriceRewardValidator
8from ..environment.reward_validator_base import RewardValidatorBase
10class ValidatorFromStringConverter(BaseFromStringConverter):
11 """
12 Converts string identifiers to reward validator classes.
14 This class implements a specific string-to-object conversion for reward validator
15 classes. It maps string names like 'price_reward_validator' to their corresponding
16 validator implementations.
17 """
19 def __init__(self, **kwargs: dict[str, Any]) -> None:
20 """
21 Initializes the validator converter with options for validator configuration.
23 Parameters:
24 **kwargs (dict[str, Any]): Optional parameters that will be passed to
25 the constructor of the validator objects.
26 """
28 self._kwargs: dict[str, Any] = kwargs
29 self._value_map: dict[str, Type[RewardValidatorBase]] = {
30 'price_reward_validator': PriceRewardValidator,
31 'points_reward_validator': PointsRewardValidator
32 }