def mock_source(name='', **kwargs): if not kwargs: kwargs = {'value': 0.5} obj = DataSource(name=name) obj.open = mock.Mock(wraps=obj.open) obj.close = mock.Mock(wraps=obj.close) obj.read = mock.Mock() obj.read.return_value = kwargs return obj