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

1# utils/validator_from_string_converter.py 

2 

3from typing import Any, Type 

4 

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 

9 

10class ValidatorFromStringConverter(BaseFromStringConverter): 

11 """ 

12 Converts string identifiers to reward validator classes. 

13 

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 """ 

18 

19 def __init__(self, **kwargs: dict[str, Any]) -> None: 

20 """ 

21 Initializes the validator converter with options for validator configuration. 

22 

23 Parameters: 

24 **kwargs (dict[str, Any]): Optional parameters that will be passed to 

25 the constructor of the validator objects. 

26 """ 

27 

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 }