import pytest
from ri import (
RiConfig,
RiConfigManager,
)
class TestRiConfig:
def test_config_creation(self):
config = RiConfig()
assert config is not None
def test_config_set_get(self):
config = RiConfig()
config.set("database.host", "localhost")
config.set("database.port", "5432")
config.set("database.name", "test_db")
assert config.get("database.host") == "localhost"
assert config.get("database.port") == "5432"
assert config.get("database.name") == "test_db"
def test_config_get_nonexistent(self):
config = RiConfig()
result = config.get("nonexistent.key")
assert result is None
def test_config_get_f64(self):
config = RiConfig()
config.set("server.port", "8080")
config.set("server.timeout", "30.5")
assert config.get_f64("server.port") == 8080.0
assert config.get_f64("server.timeout") == 30.5
def test_config_get_usize(self):
config = RiConfig()
config.set("server.port", "8080")
config.set("server.timeout", "30")
assert config.get_usize("server.port") == 8080
assert config.get_usize("server.timeout") == 30
def test_config_contains(self):
config = RiConfig()
config.set("feature.enabled", "true")
assert config.contains("feature.enabled") is True
assert config.contains("nonexistent.key") is False
class TestRiConfigManager:
def test_config_manager_creation(self):
manager = RiConfigManager()
assert manager is not None
def test_config_manager_get(self):
manager = RiConfigManager()
result = manager.get("nonexistent.key")
assert result is None
if __name__ == "__main__":
pytest.main([__file__, "-v"])