import pytest
from ri import (
RiDevice,
RiDeviceType,
RiDeviceStatus,
RiDeviceCapabilities,
RiDeviceHealthMetrics,
)
class TestRiDevice:
def test_device_creation(self):
device = RiDevice("Test Device", RiDeviceType.CPU)
assert device.id() is not None
assert device.name() == "Test Device"
assert str(device.device_type()) == "CPU"
def test_device_status(self):
device = RiDevice("Test Device", RiDeviceType.GPU)
device.set_status(RiDeviceStatus.Available)
assert "Available" in str(device.status())
class TestRiDeviceCapabilities:
def test_capabilities_creation(self):
caps = RiDeviceCapabilities()
caps.compute_units = 16
caps.memory_gb = 32.0
caps.storage_gb = 512.0
caps.bandwidth_gbps = 10.0
assert caps.compute_units == 16
assert caps.memory_gb == 32.0
assert caps.storage_gb == 512.0
assert caps.bandwidth_gbps == 10.0
class TestRiDeviceHealthMetrics:
def test_health_metrics_creation(self):
metrics = RiDeviceHealthMetrics()
metrics.cpu_usage_percent = 45.5
metrics.memory_usage_percent = 60.0
metrics.temperature_celsius = 55.0
metrics.error_count = 0
metrics.throughput = 1000
assert metrics.cpu_usage_percent == 45.5
assert metrics.memory_usage_percent == 60.0
assert metrics.temperature_celsius == 55.0
class TestRiDeviceType:
def test_device_types(self):
assert RiDeviceType.CPU is not None
assert RiDeviceType.GPU is not None
assert RiDeviceType.Memory is not None
assert RiDeviceType.Storage is not None
assert RiDeviceType.Network is not None
assert RiDeviceType.Custom is not None
assert RiDeviceType.Sensor is not None
assert RiDeviceType.Actuator is not None
class TestRiDeviceStatus:
def test_device_statuses(self):
assert RiDeviceStatus.Unknown is not None
assert RiDeviceStatus.Available is not None
assert RiDeviceStatus.Busy is not None
assert RiDeviceStatus.Error is not None
assert RiDeviceStatus.Offline is not None
if __name__ == "__main__":
pytest.main([__file__, "-v"])