From 01b82a03bc596c626da40a663d56c0f3f05aab4e Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Wed, 11 Mar 2026 18:37:47 +0000 Subject: [PATCH] Add test file for data/data_loader.py This commit introduces a new test file, `tests/test_data_loader.py`, to verify the functionality of `get_data_mt5`. It uses `unittest.mock.MagicMock` to mock the `MetaTrader5` module, allowing tests to run on Linux where the module cannot be imported. The tests cover: - Live trading data retrieval (`start_pos=None`). - Backtesting data retrieval with a specific `start_pos`. - Error handling when `copy_rates_from_pos` returns `None`. - The proper conversion of rates into a pandas DataFrame with a parsed datetime index. Co-authored-by: maghdam <63883156+maghdam@users.noreply.github.com> --- data/__pycache__/__init__.cpython-311.pyc | Bin 164 -> 0 bytes data/__pycache__/__init__.cpython-312.pyc | Bin 159 -> 0 bytes data/__pycache__/data_loader.cpython-311.pyc | Bin 1660 -> 0 bytes data/__pycache__/data_loader.cpython-312.pyc | Bin 1566 -> 0 bytes tests/test_data_loader.py | 74 +++++++++++++++++++ 5 files changed, 74 insertions(+) delete mode 100644 data/__pycache__/__init__.cpython-311.pyc delete mode 100644 data/__pycache__/__init__.cpython-312.pyc delete mode 100644 data/__pycache__/data_loader.cpython-311.pyc delete mode 100644 data/__pycache__/data_loader.cpython-312.pyc create mode 100644 tests/test_data_loader.py diff --git a/data/__pycache__/__init__.cpython-311.pyc b/data/__pycache__/__init__.cpython-311.pyc deleted file mode 100644 index 8f779c6403d55137c5917b285049c6ff6b4b5451..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 164 zcmZ3^%ge<81R;kvri19mAOZ#$p^VRLK*n^26oz01O-8?!3`I;p{%4TnFY{!pn9$!W;l+3*Jn3Tkl#F+T_%)HE!_;|g7%3mBd ix%nxjIjMFHWl*&i4V+-jEo-`U_=o!Pz(V6&?nab diff --git a/data/__pycache__/__init__.cpython-312.pyc b/data/__pycache__/__init__.cpython-312.pyc deleted file mode 100644 index e31893c5dbc0970e71b4e5bf359d7d46dbc233e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159 zcmX@j%ge<81R;kvri19mAOanHW&w&!XQ*V*Wb|9fP{ah}eFmxdWtVIf6Iz^FR2-9= zpOKgw2KczG$)vkyYXdELD7lRldnHd=wi6 z-tX+MQ&STN#z)uxs{f%N^sm^AMtsPe-v#D-L=cfIv?+yaY*P+bWmAPUW@)yzsY!^$ ziA>`}p$Vc=c{e$NGBl!nt!_>b=|0LQUW()Oyc8se&M7x-8ff0Wz2jPe=2Uld<^>v~ z+-FV=e2Rt!oDARjbxHWslG`~B+-U4Zd<(T=B-WCSLHkLBaG*G|SIf8L%knLyJ;T)z zK0-upp`Xytv173GB(nBM;-gG~=x$`MrHsoRsAF;wZc8P~Tx5i(PqpJ1;KMf<;{GqsCCnNI32!OaN_V}8tO#%D{QtFrC{1p<&X}1U zz4p0q0_rmKf1Qb@`Eve_>stgnuE@b4;lpY}*ntwhH_3zNr}&P^H-L$oPSetBG#?LS z$as*gxy}756ERkWLn6(=#AmwY(=uZ&3t~+YB$uIsRz&fF6nCr9Q%*uDs-{Ee7kQ0| z*T6)p2g#_mK{Cp3poT_*7%@E2+@e!4epRa7+Irwo=55(-L$|l?Idqvp!nR6Qv!Sn8 z?!%}fmt4LjS~(0XzmA-b?`!5R3RXi1MCER-j6`q=q!g4nNB=+n$Gsp@BXGe zOP<_3F}mq;FI_%V57ieJ=O6qD=apW%a;QF!Pqq(Er*oaTk54opFuT*G-gK#xD7{Fg zzMX$eyUF=pa=yKEn#q3m_EGHU{a+@YWjmQ-H&g6oitVNL-dA_~iuTRgqqWCx9KGIN z>naO9Wuc=i^ixyq)pPI;<)!s}Do9YNpE)0++g-mwlkW2 mG}9T)K6zVtfvYh#G8^HatwG8yeJ-wq+ppwDA-GHk$Cdt_hxr?6GVJ4@B7|+-}n3e z&(GuIDFo}SOFy)}QxN(?9HJE;Fef*GxsM1Ul7(tgNMkiQq)JT%8nZN8t7#GHophncti1x8sOKnPp#4~ZdQjmfK(K+R&O#{u_wAWlK(45Aa&b&Zll>5wS zf^Wm60Vl(Ea!wL{b>-eP2d=-?V-Yu^UDS;csVnUcP_`5&_x~DQ`Lsq?=}mAo!X&XS z`VxH=+a1{bNa9hp(0U@08quy2Np7j9B*WZ~qy*Phi98LIC=b-#K`i3#TKKj;E@aLw zA`|UFJd%|F;T9?+^k?8&3d35YyxGQW)8j5Po4SP|**Z3uYvT&#dX?#fGF&Q#!r}HR zUhS7*^(q$6rqjZv<8kKO)ZuuB7F)$D_~Kmk`t4iu7Ylt&Q0mtVlvaFu4KQ5;iy~s~ zVkjds=>{FjifS87w<(BMswF%;NANZ;6{|~?g~glY%0lCv*^wEK>x?%#t_P|&48xl!`>2@|7 zOoZ4F{)j9GsrPitrwfd^EQobTker7GS`@Vl(%fwfXEzCzXqXP6cM2L4qsGL%1j%7( zgXA#1ff^bKV#M&oJc~xf`0sM_YW=oHnOC>nwr9zISft`QGwF<&{V2@!rx2ID-n( zN+BJjM>AMrV{jd49o-?i$DR`h)$wfzD&};U_~ivMOkp6K4rduShT(mSnD}9^^Wr^m z&31`z(Kp%4a1?(hZx*&=S(2m^4M{INM%l+`>UZ?gpUQb@;*0Dt0