Test for wrong inputs (empty / none-dataframes) in get_signal

This commit is contained in:
Matthias 2018-12-12 19:35:51 +01:00
parent d6ba4f0e81
commit 5c3dcf3e2b
2 changed files with 6 additions and 1 deletions

View File

@ -161,7 +161,7 @@ class IStrategy(ABC):
:param dataframe: Dataframe to analyze
:return: (Buy, Sell) A bool-tuple indicating buy/sell signal
"""
if isinstance(dataframe, DataFrame) and dataframe.empty:
if not isinstance(dataframe, DataFrame) or dataframe.empty:
logger.warning('Empty ticker history for pair %s', pair)
return False, False

View File

@ -49,6 +49,11 @@ def test_get_signal_empty(default_conf, mocker, caplog):
assert (False, False) == _STRATEGY.get_signal('foo', default_conf['ticker_interval'],
DataFrame())
assert log_has('Empty ticker history for pair foo', caplog.record_tuples)
caplog.clear()
assert (False, False) == _STRATEGY.get_signal('bar', default_conf['ticker_interval'],
[])
assert log_has('Empty ticker history for pair bar', caplog.record_tuples)
def test_get_signal_exception_valueerror(default_conf, mocker, caplog, ticker_history):