From 9e4fc00a0ffcc80dc5ddb91c2961f5cbc81d48a7 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sat, 28 Dec 2019 10:54:10 +0100 Subject: [PATCH] Add test for convert_ohlcv --- freqtrade/data/converter.py | 2 ++ tests/data/test_converter.py | 45 +++++++++++++++++++++++++++++++++++- 2 files changed, 46 insertions(+), 1 deletion(-) diff --git a/freqtrade/data/converter.py b/freqtrade/data/converter.py index c6ec4fa2b..abc754df0 100644 --- a/freqtrade/data/converter.py +++ b/freqtrade/data/converter.py @@ -135,6 +135,7 @@ def trim_dataframe(df: DataFrame, timerange: TimeRange, df_date_col: str = 'date def order_book_to_dataframe(bids: list, asks: list) -> DataFrame: """ + TODO: This should get a dedicated test Gets order book list, returns dataframe with below format per suggested by creslin ------------------------------------------------------------------- b_sum b_size bids asks a_size a_sum @@ -160,6 +161,7 @@ def order_book_to_dataframe(bids: list, asks: list) -> DataFrame: def trades_to_ohlcv(trades: list, timeframe: str) -> DataFrame: """ Converts trades list to ohlcv list + TODO: This should get a dedicated test :param trades: List of trades, as returned by ccxt.fetch_trades. :param timeframe: Ticker timeframe to resample data to :return: ohlcv Dataframe. diff --git a/tests/data/test_converter.py b/tests/data/test_converter.py index ac5472221..a0ec2f46f 100644 --- a/tests/data/test_converter.py +++ b/tests/data/test_converter.py @@ -2,7 +2,8 @@ import logging from freqtrade.configuration.timerange import TimeRange -from freqtrade.data.converter import (convert_trades_format, +from freqtrade.data.converter import (convert_ohlcv_format, + convert_trades_format, ohlcv_fill_up_missing_data, parse_ticker_dataframe, trim_dataframe) from freqtrade.data.history import (get_timerange, load_data, @@ -218,3 +219,45 @@ def test_convert_trades_format(mocker, default_conf, testdatadir): _clean_test_file(file) if file_new.exists(): file_new.unlink() + + +def test_convert_ohlcv_format(mocker, default_conf, testdatadir): + file1 = testdatadir / "XRP_ETH-5m.json" + file1_new = testdatadir / "XRP_ETH-5m.json.gz" + file2 = testdatadir / "XRP_ETH-1m.json" + file2_new = testdatadir / "XRP_ETH-1m.json.gz" + _backup_file(file1, copy_file=True) + _backup_file(file2, copy_file=True) + default_conf['datadir'] = testdatadir + default_conf['pairs'] = ['XRP_ETH'] + default_conf['timeframes'] = ['1m', '5m'] + + assert not file1_new.exists() + assert not file2_new.exists() + + convert_ohlcv_format(default_conf, convert_from='json', + convert_to='jsongz', erase=False) + + assert file1_new.exists() + assert file2_new.exists() + assert file1.exists() + assert file2.exists() + + # Remove original files + file1.unlink() + file2.unlink() + # Convert back + convert_ohlcv_format(default_conf, convert_from='jsongz', + convert_to='json', erase=True) + + assert file1.exists() + assert file2.exists() + assert not file1_new.exists() + assert not file2_new.exists() + + _clean_test_file(file1) + _clean_test_file(file2) + if file1_new.exists(): + file1_new.unlink() + if file2_new.exists(): + file2_new.unlink()