Files
pandas-ta-classic/tests/test_ext_indicator_volume.py
xgboosted ba0eda4c74 docs(agents): expand AGENTS.md with full project guidance
Agents lacked sufficient context to work without repeated clarification.

- Rewrite AGENTS.md (61 → 300 lines): granular context table, working
  principles, formatting gates, CI pipeline, indicator dev checklist,
  validation commands, repo tree, and docs summary
- Add CLAUDE.md with @AGENTS.md include for Claude Code
- Fix copilot-instructions.md: replace @AGENTS.md (Copilot ignores @)
  with plain-text instruction to read AGENTS.md
- pyproject.toml: add line-length=150 to [tool.black] and [tool.ruff];
  remove dead [tool.ruff.format] section (ruff format disabled in CI)
- test_property_based.py: replace filterwarnings suppression with
  assume(std > 0) — excludes degenerate inputs at source
2026-06-24 22:39:09 +10:00

141 lines
4.4 KiB
Python

from tests.config import get_sample_data
from unittest import TestCase
from pandas import DataFrame
class TestVolumeExtension(TestCase):
@classmethod
def setUpClass(cls):
cls.data = get_sample_data()
cls.open = cls.data["open"]
@classmethod
def tearDownClass(cls):
del cls.data
del cls.open
def setUp(self):
pass
def tearDown(self):
pass
def test_ad_ext(self):
self.data.ta.ad(append=True)
self.assertIsInstance(self.data, DataFrame)
self.assertEqual(self.data.columns[-1], "AD")
def test_ad_open_ext(self):
self.data.ta.ad(open_=self.open, append=True)
self.assertIsInstance(self.data, DataFrame)
self.assertEqual(self.data.columns[-1], "ADo")
def test_adosc_ext(self):
self.data.ta.adosc(append=True)
self.assertIsInstance(self.data, DataFrame)
self.assertEqual(self.data.columns[-1], "ADOSC_3_10")
def test_aobv_ext(self):
self.data.ta.aobv(append=True)
self.assertIsInstance(self.data, DataFrame)
self.assertEqual(
list(self.data.columns[-7:]),
[
"OBV",
"OBV_min_2",
"OBV_max_2",
"OBVe_4",
"OBVe_12",
"AOBV_LR_2",
"AOBV_SR_2",
],
)
# Remove "OBV" so it does not interfere with test_obv_ext()
self.data.drop("OBV", axis=1, inplace=True)
def test_cmf_ext(self):
self.data.ta.cmf(append=True)
self.assertIsInstance(self.data, DataFrame)
self.assertEqual(self.data.columns[-1], "CMF_20")
def test_efi_ext(self):
self.data.ta.efi(append=True)
self.assertIsInstance(self.data, DataFrame)
self.assertEqual(self.data.columns[-1], "EFI_13")
def test_eom_ext(self):
self.data.ta.eom(append=True)
self.assertIsInstance(self.data, DataFrame)
self.assertEqual(self.data.columns[-1], "EOM_14_100000000")
def test_kvo_ext(self):
self.data.ta.kvo(append=True)
self.assertIsInstance(self.data, DataFrame)
self.assertEqual(list(self.data.columns[-2:]), ["KVO_34_55_13", "KVOs_34_55_13"])
def test_mfi_ext(self):
self.data.ta.mfi(append=True)
self.assertIsInstance(self.data, DataFrame)
self.assertEqual(self.data.columns[-1], "MFI_14")
def test_nvi_ext(self):
self.data.ta.nvi(append=True)
self.assertIsInstance(self.data, DataFrame)
self.assertEqual(self.data.columns[-1], "NVI_1")
def test_obv_ext(self):
self.data.ta.obv(append=True)
self.assertIsInstance(self.data, DataFrame)
self.assertEqual(self.data.columns[-1], "OBV")
def test_pvi_ext(self):
self.data.ta.pvi(append=True)
self.assertIsInstance(self.data, DataFrame)
self.assertEqual(self.data.columns[-1], "PVI_1")
def test_pvol_ext(self):
self.data.ta.pvol(append=True)
self.assertIsInstance(self.data, DataFrame)
self.assertEqual(self.data.columns[-1], "PVOL")
def test_pvr_ext(self):
self.data.ta.pvr(append=True)
self.assertIsInstance(self.data, DataFrame)
self.assertEqual(self.data.columns[-1], "PVR")
def test_pvt_ext(self):
self.data.ta.pvt(append=True)
self.assertIsInstance(self.data, DataFrame)
self.assertEqual(self.data.columns[-1], "PVT")
def test_vp_ext(self):
result = self.data.ta.vp()
self.assertIsInstance(result, DataFrame)
self.assertEqual(result.name, "VP_10")
def test_vfi_ext(self):
self.data.ta.vfi(append=True)
self.assertIsInstance(self.data, DataFrame)
self.assertEqual(self.data.columns[-1], "VFI_130")
def test_emv_ext(self):
self.data.ta.emv(append=True)
self.assertIsInstance(self.data, DataFrame)
self.assertEqual(self.data.columns[-1], "EMV")
def test_marketfi_ext(self):
self.data.ta.marketfi(append=True)
self.assertIsInstance(self.data, DataFrame)
self.assertEqual(self.data.columns[-1], "MARKETFI")
def test_vosc_ext(self):
self.data.ta.vosc(append=True)
self.assertIsInstance(self.data, DataFrame)
self.assertEqual(self.data.columns[-1], "VOSC_14_28")
def test_wad_ext(self):
self.data.ta.wad(append=True)
self.assertIsInstance(self.data, DataFrame)
self.assertEqual(self.data.columns[-1], "WAD")