Black formatting changes
This commit is contained in:
parent
15b0b96488
commit
a39b4fa606
@ -4,7 +4,7 @@ import random
|
|||||||
from typing import Literal, Sequence
|
from typing import Literal, Sequence
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from fincal.core import AllFrequencies, Frequency, Series
|
from fincal.core import Frequency, Series
|
||||||
from fincal.fincal import TimeSeries, create_date_series
|
from fincal.fincal import TimeSeries, create_date_series
|
||||||
|
|
||||||
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
|
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
|
||||||
@ -18,8 +18,8 @@ def create_test_data(
|
|||||||
gaps: float,
|
gaps: float,
|
||||||
month_position: Literal["start", "middle", "end"],
|
month_position: Literal["start", "middle", "end"],
|
||||||
date_as_str: bool,
|
date_as_str: bool,
|
||||||
as_outer_type: Literal['dict', 'list'] = 'list',
|
as_outer_type: Literal["dict", "list"] = "list",
|
||||||
as_inner_type: Literal['dict', 'list', 'tuple'] = 'tuple'
|
as_inner_type: Literal["dict", "list", "tuple"] = "tuple",
|
||||||
) -> Sequence[tuple]:
|
) -> Sequence[tuple]:
|
||||||
start_dates = {
|
start_dates = {
|
||||||
"start": datetime.datetime(2016, 1, 1),
|
"start": datetime.datetime(2016, 1, 1),
|
||||||
@ -35,58 +35,24 @@ def create_test_data(
|
|||||||
for i in to_remove:
|
for i in to_remove:
|
||||||
dates.remove(i)
|
dates.remove(i)
|
||||||
if date_as_str:
|
if date_as_str:
|
||||||
dates = [i.strftime('%Y-%m-%d') for i in dates]
|
dates = [i.strftime("%Y-%m-%d") for i in dates]
|
||||||
|
|
||||||
values = [random.randint(8000, 90000) / 100 for _ in dates]
|
values = [random.randint(8000, 90000) / 100 for _ in dates]
|
||||||
|
|
||||||
data = list(zip(dates, values))
|
data = list(zip(dates, values))
|
||||||
if as_outer_type == 'list':
|
if as_outer_type == "list":
|
||||||
if as_inner_type == 'list':
|
if as_inner_type == "list":
|
||||||
data = [list(i) for i in data]
|
data = [list(i) for i in data]
|
||||||
elif as_inner_type == 'dict[1]':
|
elif as_inner_type == "dict[1]":
|
||||||
data = [dict((i,)) for i in data]
|
data = [dict((i,)) for i in data]
|
||||||
elif as_inner_type == 'dict[2]':
|
elif as_inner_type == "dict[2]":
|
||||||
data = [dict(date=i, value=j) for i, j in data]
|
data = [dict(date=i, value=j) for i, j in data]
|
||||||
elif as_outer_type == 'dict':
|
elif as_outer_type == "dict":
|
||||||
data = dict(data)
|
data = dict(data)
|
||||||
|
|
||||||
return data
|
return data
|
||||||
|
|
||||||
|
|
||||||
class TestFrequency:
|
|
||||||
def test_creation(self):
|
|
||||||
D = Frequency('daily', 'days', 1, 1, 'D')
|
|
||||||
assert D.days == 1
|
|
||||||
assert D.symbol == 'D'
|
|
||||||
assert D.name == 'daily'
|
|
||||||
assert D.value == 1
|
|
||||||
assert D.freq_type == 'days'
|
|
||||||
|
|
||||||
|
|
||||||
class TestAllFrequencies:
|
|
||||||
def test_attributes(self):
|
|
||||||
assert hasattr(AllFrequencies, 'D')
|
|
||||||
assert hasattr(AllFrequencies, 'M')
|
|
||||||
assert hasattr(AllFrequencies, 'Q')
|
|
||||||
|
|
||||||
def test_days(self):
|
|
||||||
assert AllFrequencies.D.days == 1
|
|
||||||
assert AllFrequencies.M.days == 30
|
|
||||||
assert AllFrequencies.Q.days == 91
|
|
||||||
|
|
||||||
def test_symbol(self):
|
|
||||||
assert AllFrequencies.H.symbol == 'H'
|
|
||||||
assert AllFrequencies.W.symbol == 'W'
|
|
||||||
|
|
||||||
def test_values(self):
|
|
||||||
assert AllFrequencies.H.value == 6
|
|
||||||
assert AllFrequencies.Y.value == 1
|
|
||||||
|
|
||||||
def test_type(self):
|
|
||||||
assert AllFrequencies.Q.freq_type == 'months'
|
|
||||||
assert AllFrequencies.W.freq_type == 'days'
|
|
||||||
|
|
||||||
|
|
||||||
class TestDateSeries:
|
class TestDateSeries:
|
||||||
def test_daily(self):
|
def test_daily(self):
|
||||||
start_date = datetime.datetime(2020, 1, 1)
|
start_date = datetime.datetime(2020, 1, 1)
|
||||||
@ -151,7 +117,7 @@ class TestDateSeries:
|
|||||||
|
|
||||||
class TestFincal:
|
class TestFincal:
|
||||||
def test_creation(self):
|
def test_creation(self):
|
||||||
data = create_test_data(frequency='D', eomonth=False, n=50, gaps=0, month_position='start', date_as_str=True)
|
data = create_test_data(frequency="D", eomonth=False, n=50, gaps=0, month_position="start", date_as_str=True)
|
||||||
time_series = TimeSeries(data, frequency="D")
|
time_series = TimeSeries(data, frequency="D")
|
||||||
assert len(time_series) == 50
|
assert len(time_series) == 50
|
||||||
assert isinstance(time_series.frequency, Frequency)
|
assert isinstance(time_series.frequency, Frequency)
|
||||||
@ -160,12 +126,12 @@ class TestFincal:
|
|||||||
ffill_data = time_series.ffill()
|
ffill_data = time_series.ffill()
|
||||||
assert len(ffill_data) == 50
|
assert len(ffill_data) == 50
|
||||||
|
|
||||||
data = create_test_data(frequency='D', eomonth=False, n=500, gaps=0.1, month_position='start', date_as_str=True)
|
data = create_test_data(frequency="D", eomonth=False, n=500, gaps=0.1, month_position="start", date_as_str=True)
|
||||||
time_series = TimeSeries(data, frequency="D")
|
time_series = TimeSeries(data, frequency="D")
|
||||||
assert len(time_series) == 450
|
assert len(time_series) == 450
|
||||||
|
|
||||||
def test_ffill(self):
|
def test_ffill(self):
|
||||||
data = create_test_data(frequency='D', eomonth=False, n=500, gaps=0.1, month_position='start', date_as_str=True)
|
data = create_test_data(frequency="D", eomonth=False, n=500, gaps=0.1, month_position="start", date_as_str=True)
|
||||||
time_series = TimeSeries(data, frequency="D")
|
time_series = TimeSeries(data, frequency="D")
|
||||||
ffill_data = time_series.ffill()
|
ffill_data = time_series.ffill()
|
||||||
assert len(ffill_data) >= 498
|
assert len(ffill_data) >= 498
|
||||||
@ -175,7 +141,7 @@ class TestFincal:
|
|||||||
assert len(time_series) >= 498
|
assert len(time_series) >= 498
|
||||||
|
|
||||||
def test_iloc_slicing(self):
|
def test_iloc_slicing(self):
|
||||||
data = create_test_data(frequency='D', eomonth=False, n=50, gaps=0, month_position='start', date_as_str=True)
|
data = create_test_data(frequency="D", eomonth=False, n=50, gaps=0, month_position="start", date_as_str=True)
|
||||||
time_series = TimeSeries(data, frequency="D")
|
time_series = TimeSeries(data, frequency="D")
|
||||||
assert time_series.iloc[0] is not None
|
assert time_series.iloc[0] is not None
|
||||||
assert time_series.iloc[:3] is not None
|
assert time_series.iloc[:3] is not None
|
||||||
@ -185,11 +151,11 @@ class TestFincal:
|
|||||||
assert len(time_series.iloc[10:20]) == 10
|
assert len(time_series.iloc[10:20]) == 10
|
||||||
|
|
||||||
def test_key_slicing(self):
|
def test_key_slicing(self):
|
||||||
data = create_test_data(frequency='D', eomonth=False, n=50, gaps=0, month_position='start', date_as_str=True)
|
data = create_test_data(frequency="D", eomonth=False, n=50, gaps=0, month_position="start", date_as_str=True)
|
||||||
time_series = TimeSeries(data, frequency="D")
|
time_series = TimeSeries(data, frequency="D")
|
||||||
available_date = time_series.iloc[5][0]
|
available_date = time_series.iloc[5][0]
|
||||||
assert time_series[available_date] is not None
|
assert time_series[available_date] is not None
|
||||||
assert isinstance(time_series['dates'], Series)
|
assert isinstance(time_series["dates"], Series)
|
||||||
assert isinstance(time_series['values'], Series)
|
assert isinstance(time_series["values"], Series)
|
||||||
assert len(time_series.dates) == 50
|
assert len(time_series.dates) == 50
|
||||||
assert len(time_series.values) == 50
|
assert len(time_series.values) == 50
|
||||||
|
Loading…
Reference in New Issue
Block a user