mirror of
https://github.com/Farama-Foundation/Gymnasium.git
synced 2025-08-01 06:07:08 +00:00
29 lines
1.1 KiB
Python
29 lines
1.1 KiB
Python
"""Utility functions for testing the vector utility functions."""
|
|
|
|
import numpy as np
|
|
|
|
|
|
def is_rng_equal(rng_1: np.random.Generator, rng_2: np.random.Generator):
|
|
"""Asserts that two random number generates are equivalent."""
|
|
return rng_1.bit_generator.state == rng_2.bit_generator.state
|
|
|
|
|
|
def type_equivalence(data_1, data_2):
|
|
"""Assert the type equivalences between two variables."""
|
|
if type(data_1) is type(data_2):
|
|
if isinstance(data_1, tuple):
|
|
# assert len(data_1) == len(data_2), f'{len(data_1)}, {len(data_2)}, {data_1}, {data_2}'
|
|
|
|
for o_1, o_2 in zip(data_1, data_2):
|
|
assert type_equivalence(
|
|
o_1, o_2
|
|
), f"{type(o_1)}, {type(o_2)}, {o_1}, {o_2}"
|
|
elif isinstance(data_1, dict):
|
|
for key in data_1:
|
|
assert type_equivalence(
|
|
data_1[key], data_2[key]
|
|
), f"{type(data_1[key])}, {type(data_2[key])}, {key}, {data_1[key]}, {data_2[key]}"
|
|
|
|
return True
|
|
assert False, f"{type(data_1)}, {type(data_2)}, {data_1}, {data_2}"
|