"""Unit tests for ConnectionAwareInterface.""" import pytest from python_repositories.interfaces.connection_aware_interface import ( ConnectionAwareInterface, ) def test_instantiation_fails_when_connect_not_implemented() -> None: """Test that instantiation fails if connect is not implemented.""" class Incomplete(ConnectionAwareInterface): """A class that does not implement connect.""" def disconnect(self) -> None: pass def is_connected(self) -> bool: return False with pytest.raises(TypeError): _ = Incomplete() # type: ignore def test_instantiation_fails_when_disconnect_not_implemented() -> None: """Test that instantiation fails if disconnect is not implemented.""" class Incomplete(ConnectionAwareInterface): """A class that does not implement disconnect.""" def connect(self) -> None: pass def is_connected(self) -> bool: return False with pytest.raises(TypeError): _ = Incomplete() # type: ignore def test_instantiation_fails_when_is_connected_not_implemented() -> None: """Test that instantiation fails if is_connected is not implemented.""" class Incomplete(ConnectionAwareInterface): """A class that does not implement is_connected.""" def connect(self) -> None: pass def disconnect(self) -> None: pass with pytest.raises(TypeError): _ = Incomplete() # type: ignore