Skip to content

Commit

Permalink
refactor tests code
Browse files Browse the repository at this point in the history
  • Loading branch information
bukosabino committed May 4, 2020
1 parent 913bec6 commit 0b13b6b
Show file tree
Hide file tree
Showing 5 changed files with 114 additions and 164 deletions.
54 changes: 33 additions & 21 deletions ta/tests/momentum.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,16 @@ class TestRateOfChangeIndicator(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls._df = pd.read_csv(cls._filename, sep=',')
cls._indicator = ROCIndicator(close=cls._df['Close'], n=12, fillna=False)
cls._params = dict(close=cls._df['Close'], n=12, fillna=False)
cls._indicator = ROCIndicator(**cls._params)

@classmethod
def tearDownClass(cls):
del(cls._df)

def test_roc(self):
target = 'ROC'
result = roc(close=self._df['Close'], n=12, fillna=False)
result = roc(**self._params)
pd.testing.assert_series_equal(self._df[target].tail(), result.tail(), check_names=False)

def test_roc2(self):
Expand All @@ -46,7 +47,8 @@ class TestRSIIndicator(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls._df = pd.read_csv(cls._filename, sep=',')
cls._indicator = RSIIndicator(close=cls._df['Close'], n=14, fillna=False)
cls._params = dict(close=cls._df['Close'], n=14, fillna=False)
cls._indicator = RSIIndicator(**cls._params)

@classmethod
def tearDownClass(cls):
Expand All @@ -59,7 +61,7 @@ def test_rsi(self):

def test_rsi2(self):
target = 'RSI'
result = rsi(close=self._df['Close'], n=14, fillna=False)
result = rsi(**self._params)
pd.testing.assert_series_equal(self._df[target].tail(), result.tail(), check_names=False)


Expand All @@ -73,9 +75,19 @@ class TestUltimateOscillator(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls._df = pd.read_csv(cls._filename, sep=',')
cls._indicator = UltimateOscillator(
high=cls._df['High'], low=cls._df['Low'], close=cls._df['Close'],
s=7, m=14, len=28, ws=4.0, wm=2.0, wl=1.0, fillna=False)
cls._params = dict(
high=cls._df['High'],
low=cls._df['Low'],
close=cls._df['Close'],
s=7,
m=14,
len=28,
ws=4.0,
wm=2.0,
wl=1.0,
fillna=False
)
cls._indicator = UltimateOscillator(**cls._params)

@classmethod
def tearDownClass(cls):
Expand All @@ -88,9 +100,7 @@ def test_uo(self):

def test_uo2(self):
target = 'Ult_Osc'
result = uo(
high=self._df['High'], low=self._df['Low'], close=self._df['Close'],
s=7, m=14, len=28, ws=4.0, wm=2.0, wl=1.0, fillna=False)
result = uo(**self._params)
pd.testing.assert_series_equal(self._df[target].tail(), result.tail(), check_names=False)


Expand All @@ -104,8 +114,9 @@ class TestStochasticOscillator(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls._df = pd.read_csv(cls._filename, sep=',')
cls._indicator = StochasticOscillator(
cls._params = dict(
high=cls._df['High'], low=cls._df['Low'], close=cls._df['Close'], n=14, d_n=3, fillna=False)
cls._indicator = StochasticOscillator(**cls._params)

@classmethod
def tearDownClass(cls):
Expand All @@ -123,13 +134,12 @@ def test_so_signal(self):

def test_so2(self):
target = 'SO'
result = stoch(high=self._df['High'], low=self._df['Low'], close=self._df['Close'], n=14, d_n=3, fillna=False)
result = stoch(**self._params)
pd.testing.assert_series_equal(self._df[target].tail(), result.tail(), check_names=False)

def test_so_signal2(self):
target = 'SO_SIG'
result = stoch_signal(
high=self._df['High'], low=self._df['Low'], close=self._df['Close'], n=14, d_n=3, fillna=False)
result = stoch_signal(**self._params)
pd.testing.assert_series_equal(self._df[target].tail(), result.tail(), check_names=False)


Expand All @@ -143,8 +153,8 @@ class TestWilliamsRIndicator(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls._df = pd.read_csv(cls._filename, sep=',')
cls._indicator = WilliamsRIndicator(
high=cls._df['High'], low=cls._df['Low'], close=cls._df['Close'], lbp=14, fillna=False)
cls._params = dict(high=cls._df['High'], low=cls._df['Low'], close=cls._df['Close'], lbp=14, fillna=False)
cls._indicator = WilliamsRIndicator(**cls._params)

@classmethod
def tearDownClass(cls):
Expand All @@ -157,7 +167,7 @@ def test_wr(self):

def test_wr2(self):
target = 'Williams_%R'
result = wr(high=self._df['High'], low=self._df['Low'], close=self._df['Close'], lbp=14, fillna=False)
result = wr(**self._params)
pd.testing.assert_series_equal(self._df[target].tail(), result.tail(), check_names=False)


Expand All @@ -171,7 +181,8 @@ class TestKAMAIndicator(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls._df = pd.read_csv(cls._filename, sep=',')
cls._indicator = KAMAIndicator(close=cls._df['Close'], n=10, pow1=2, pow2=30, fillna=False)
cls._params = dict(close=cls._df['Close'], n=10, pow1=2, pow2=30, fillna=False)
cls._indicator = KAMAIndicator(**cls._params)

@classmethod
def tearDownClass(cls):
Expand All @@ -184,7 +195,7 @@ def test_kama(self):

def test_kama2(self):
target = 'KAMA'
result = kama(close=self._df['Close'], n=10, pow1=2, pow2=30, fillna=False)
result = kama(**self._params)
pd.testing.assert_series_equal(self._df[target].tail(), result.tail(), check_names=False)


Expand All @@ -198,7 +209,8 @@ class TestTSIIndicator(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls._df = pd.read_csv(cls._filename, sep=',')
cls._indicator = TSIIndicator(close=cls._df['Close'], r=25, s=13, fillna=False)
cls._params = dict(close=cls._df['Close'], r=25, s=13, fillna=False)
cls._indicator = TSIIndicator(**cls._params)

@classmethod
def tearDownClass(cls):
Expand All @@ -212,6 +224,6 @@ def test_tsi(self):

def test_tsi2(self):
target = 'TSI'
result = tsi(close=self._df['Close'], r=25, s=13, fillna=False)
result = tsi(**self._params)
pd.testing.assert_series_equal(
self._df[target].tail(), result.tail(), check_names=False, check_less_precise=True)
49 changes: 24 additions & 25 deletions ta/tests/trend.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,16 +19,16 @@ class TestADXIndicator(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls._df = pd.read_csv(cls._filename, sep=',')
cls._indicator = ADXIndicator(
high=cls._df['High'], low=cls._df['Low'], close=cls._df['Close'], n=14, fillna=False)
cls._params = dict(high=cls._df['High'], low=cls._df['Low'], close=cls._df['Close'], n=14, fillna=False)
cls._indicator = ADXIndicator(**cls._params)

@classmethod
def tearDownClass(cls):
del(cls._df)

def test_adx(self):
target = 'ADX'
result = adx(high=self._df['High'], low=self._df['Low'], close=self._df['Close'], n=14, fillna=False)
result = adx(**self._params)
pd.testing.assert_series_equal(self._df[target].tail(), result.tail(), check_names=False)

def test_adx2(self):
Expand All @@ -38,8 +38,7 @@ def test_adx2(self):

def test_adx_pos(self):
target = '+DI14'
result = adx_pos(
high=self._df['High'], low=self._df['Low'], close=self._df['Close'], n=14, fillna=False)
result = adx_pos(**self._params)
pd.testing.assert_series_equal(self._df[target].tail(), result.tail(), check_names=False)

def test_adx_pos2(self):
Expand All @@ -49,7 +48,7 @@ def test_adx_pos2(self):

def test_adx_neg(self):
target = '-DI14'
result = adx_neg(high=self._df['High'], low=self._df['Low'], close=self._df['Close'], n=14, fillna=False)
result = adx_neg(**self._params)
pd.testing.assert_series_equal(self._df[target].tail(), result.tail(), check_names=False)

def test_adx_neg2(self):
Expand All @@ -68,7 +67,8 @@ class TestMACDIndicator(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls._df = pd.read_csv(cls._filename, sep=',')
cls._indicator = MACD(close=cls._df['Close'], n_slow=26, n_fast=12, n_sign=9, fillna=False)
cls._params = dict(close=cls._df['Close'], n_slow=26, n_fast=12, n_sign=9, fillna=False)
cls._indicator = MACD(**cls._params)

@classmethod
def tearDownClass(cls):
Expand All @@ -86,22 +86,22 @@ def test_macd2(self):

def test_macd_signal(self):
target = 'MACD_signal'
result = macd_signal(close=self._df['Close'], n_slow=26, n_fast=12, n_sign=9, fillna=False)
result = macd_signal(**self._params)
pd.testing.assert_series_equal(self._df[target].tail(), result.tail(), check_names=False)

def test_macd_signal2(self):
target = 'MACD_signal'
result = MACD(close=self._df['Close'], n_slow=26, n_fast=12, n_sign=9, fillna=False).macd_signal()
result = MACD(**self._params).macd_signal()
pd.testing.assert_series_equal(self._df[target].tail(), result.tail(), check_names=False)

def test_macd_diff(self):
target = 'MACD_diff'
result = macd_diff(close=self._df['Close'], n_slow=26, n_fast=12, n_sign=9, fillna=False)
result = macd_diff(**self._params)
pd.testing.assert_series_equal(self._df[target].tail(), result.tail(), check_names=False)

def test_macd_diff2(self):
target = 'MACD_diff'
result = MACD(close=self._df['Close'], n_slow=26, n_fast=12, n_sign=9, fillna=False).macd_diff()
result = MACD(**self._params).macd_diff()
pd.testing.assert_series_equal(self._df[target].tail(), result.tail(), check_names=False)


Expand All @@ -115,16 +115,17 @@ class TestCCIIndicator(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls._df = pd.read_csv(cls._filename, sep=',')
cls._indicator = CCIIndicator(
cls._params = dict(
high=cls._df['High'], low=cls._df['Low'], close=cls._df['Close'], n=20, c=0.015, fillna=False)
cls._indicator = CCIIndicator(**cls._params)

@classmethod
def tearDownClass(cls):
del (cls._df)

def test_cci(self):
target = 'CCI'
result = cci(high=self._df['High'], low=self._df['Low'], close=self._df['Close'], n=20, c=0.015, fillna=False)
result = cci(**self._params)
pd.testing.assert_series_equal(self._df[target].tail(), result.tail(), check_names=False)

def test_cci2(self):
Expand All @@ -143,17 +144,16 @@ class TestVortexIndicator(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls._df = pd.read_csv(cls._filename, sep=',')
cls._indicator = VortexIndicator(
high=cls._df['High'], low=cls._df['Low'], close=cls._df['Close'], n=14, fillna=False)
cls._params = dict(high=cls._df['High'], low=cls._df['Low'], close=cls._df['Close'], n=14, fillna=False)
cls._indicator = VortexIndicator(**cls._params)

@classmethod
def tearDownClass(cls):
del (cls._df)

def test_vortex_indicator_pos(self):
target = '+VI14'
result = vortex_indicator_pos(
high=self._df['High'], low=self._df['Low'], close=self._df['Close'], n=14, fillna=False)
result = vortex_indicator_pos(**self._params)
pd.testing.assert_series_equal(self._df[target].tail(), result.tail(), check_names=False)

def test_vortex_indicator_pos2(self):
Expand All @@ -163,8 +163,7 @@ def test_vortex_indicator_pos2(self):

def test_vortex_indicator_neg(self):
target = '-VI14'
result = vortex_indicator_neg(
high=self._df['High'], low=self._df['Low'], close=self._df['Close'], n=14, fillna=False)
result = vortex_indicator_neg(**self._params)
pd.testing.assert_series_equal(self._df[target].tail(), result.tail(), check_names=False)

def test_vortex_indicator_neg2(self):
Expand All @@ -183,8 +182,8 @@ class TestPSARIndicator(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls._df = pd.read_csv(cls._filename, sep=',')
cls._indicator = PSARIndicator(
high=cls._df['High'], low=cls._df['Low'], close=cls._df['Close'], fillna=False)
cls._params = dict(high=cls._df['High'], low=cls._df['Low'], close=cls._df['Close'], fillna=False)
cls._indicator = PSARIndicator(**cls._params)

@classmethod
def tearDownClass(cls):
Expand Down Expand Up @@ -212,20 +211,20 @@ def test_psar_down_indicator(self):

def test_psar_up2(self):
target = 'psar_up'
result = psar_up(high=self._df['High'], low=self._df['Low'], close=self._df['Close'], fillna=False)
result = psar_up(**self._params)
pd.testing.assert_series_equal(self._df[target].tail(), result.tail(), check_names=False)

def test_psar_down2(self):
target = 'psar_down'
result = psar_down(high=self._df['High'], low=self._df['Low'], close=self._df['Close'], fillna=False)
result = psar_down(**self._params)
pd.testing.assert_series_equal(self._df[target].tail(), result.tail(), check_names=False)

def test_psar_up_indicator2(self):
target = 'psar_up_ind'
result = psar_up_indicator(high=self._df['High'], low=self._df['Low'], close=self._df['Close'], fillna=False)
result = psar_up_indicator(**self._params)
pd.testing.assert_series_equal(self._df[target].tail(), result.tail(), check_names=False)

def test_psar_down_indicator2(self):
target = 'psar_down_ind'
result = psar_down_indicator(high=self._df['High'], low=self._df['Low'], close=self._df['Close'], fillna=False)
result = psar_down_indicator(**self._params)
pd.testing.assert_series_equal(self._df[target].tail(), result.tail(), check_names=False)

0 comments on commit 0b13b6b

Please sign in to comment.