39 lines
1.1 KiB
Python
39 lines
1.1 KiB
Python
import unittest
|
|
|
|
from ray.rllib.algorithms.registry import (
|
|
ALGORITHMS,
|
|
ALGORITHMS_CLASS_TO_NAME,
|
|
POLICIES,
|
|
get_policy_class,
|
|
get_policy_class_name,
|
|
)
|
|
|
|
|
|
class TestPolicies(unittest.TestCase):
|
|
def test_load_policies(self):
|
|
for name in POLICIES.keys():
|
|
self.assertIsNotNone(get_policy_class(name))
|
|
|
|
def test_get_eager_traced_class_name(self):
|
|
from ray.rllib.algorithms.ppo.ppo_tf_policy import PPOTF2Policy
|
|
|
|
traced = PPOTF2Policy.with_tracing()
|
|
self.assertEqual(get_policy_class_name(traced), "PPOTF2Policy")
|
|
|
|
def test_registered_algorithm_names(self):
|
|
"""All RLlib registered algorithms should have their name listed in the
|
|
registry dictionary."""
|
|
|
|
for class_name in ALGORITHMS_CLASS_TO_NAME.keys():
|
|
registered_name = ALGORITHMS_CLASS_TO_NAME[class_name]
|
|
algo_class, _ = ALGORITHMS[registered_name]()
|
|
self.assertEqual(class_name.upper(), algo_class.__name__.upper())
|
|
|
|
|
|
if __name__ == "__main__":
|
|
import sys
|
|
|
|
import pytest
|
|
|
|
sys.exit(pytest.main(["-v", __file__]))
|