import pytest
from tensor_cast.performance_model.profiling_database.data_source import (
DataSourcePerformanceModel,
)
def test_data_source_is_abstract():
with pytest.raises(TypeError):
DataSourcePerformanceModel()
def test_data_source_subclass_must_implement_lookup():
class BadSource(DataSourcePerformanceModel):
pass
with pytest.raises(TypeError):
BadSource()
def test_data_source_store_raises_by_default():
class ReadOnlySource(DataSourcePerformanceModel):
def lookup(self, op_invoke_info):
return None
source = ReadOnlySource()
with pytest.raises(NotImplementedError, match="read-only"):
source.store(None, None)