From 5c3dcf3e2bf532facf344a086df26afdec47d1cc Mon Sep 17 00:00:00 2001 From: Matthias Date: Wed, 12 Dec 2018 19:35:51 +0100 Subject: [PATCH] Test for wrong inputs (empty / none-dataframes) in get_signal --- freqtrade/strategy/interface.py | 2 +- freqtrade/tests/strategy/test_interface.py | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/freqtrade/strategy/interface.py b/freqtrade/strategy/interface.py index d8f379d53..1d6ca5ac8 100644 --- a/freqtrade/strategy/interface.py +++ b/freqtrade/strategy/interface.py @@ -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 diff --git a/freqtrade/tests/strategy/test_interface.py b/freqtrade/tests/strategy/test_interface.py index ffef568de..d42296462 100644 --- a/freqtrade/tests/strategy/test_interface.py +++ b/freqtrade/tests/strategy/test_interface.py @@ -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):