From 93f14bde361dc9f35085c6c40cfe9f2153819729 Mon Sep 17 00:00:00 2001 From: Maksym Konotop Date: Sun, 19 Jul 2026 19:25:15 +0300 Subject: [PATCH 01/15] Fix simple binary search --- searches/simple_binary_search.py | 61 +++++++++++++++---------- test.patch | Bin 0 -> 3016 bytes test.sh | 38 +++++++++++++++ tests/test_binary_search_duplicates.py | 13 ++++++ 4 files changed, 87 insertions(+), 25 deletions(-) create mode 100644 test.patch create mode 100644 test.sh create mode 100644 tests/test_binary_search_duplicates.py diff --git a/searches/simple_binary_search.py b/searches/simple_binary_search.py index 00e83ff9e4a3..895434d7473d 100644 --- a/searches/simple_binary_search.py +++ b/searches/simple_binary_search.py @@ -11,50 +11,61 @@ from __future__ import annotations -def binary_search(a_list: list[int], item: int) -> bool: +def binary_search(a_list: list[int], item: int) -> int: """ + Returns the leftmost index of `item` in `a_list` if found, + otherwise returns -1. + >>> test_list = [0, 1, 2, 8, 13, 17, 19, 32, 42] >>> binary_search(test_list, 3) - False + -1 >>> binary_search(test_list, 13) - True + 4 >>> binary_search([4, 4, 5, 6, 7], 4) - True + 0 >>> binary_search([4, 4, 5, 6, 7], -10) - False + -1 >>> binary_search([-18, 2], -18) - True + 0 >>> binary_search([5], 5) - True + 0 >>> binary_search(['a', 'c', 'd'], 'c') - True + 1 >>> binary_search(['a', 'c', 'd'], 'f') - False + -1 >>> binary_search([], 1) - False + -1 >>> binary_search([-.1, .1 , .8], .1) - True + 1 >>> binary_search(range(-5000, 5000, 10), 80) - True + 508 >>> binary_search(range(-5000, 5000, 10), 1255) - False + -1 >>> binary_search(range(0, 10000, 5), 2) - False + -1 """ - if len(a_list) == 0: - return False - midpoint = len(a_list) // 2 - if a_list[midpoint] == item: - return True - if item < a_list[midpoint]: - return binary_search(a_list[:midpoint], item) - else: - return binary_search(a_list[midpoint + 1 :], item) + low, high = 0, len(a_list) - 1 + result = -1 + + while low <= high: + mid = (low + high) // 2 + if a_list[mid] == item: + result = mid + high = mid - 1 # keep searching left for duplicates + elif item < a_list[mid]: + high = mid - 1 + else: + low = mid + 1 + + return result if __name__ == "__main__": user_input = input("Enter numbers separated by comma:\n").strip() sequence = [int(item.strip()) for item in user_input.split(",")] target = int(input("Enter the number to be found in the list:\n").strip()) - not_str = "" if binary_search(sequence, target) else "not " - print(f"{target} was {not_str}found in {sequence}") + index = binary_search(sequence, target) + if index != -1: + print(f"{target} found at index {index} in {sequence}") + else: + print(f"{target} was not found in {sequence}") diff --git a/test.patch b/test.patch new file mode 100644 index 0000000000000000000000000000000000000000..b60b9abe518ba97dc715b33eab00d89681e8e99c GIT binary patch literal 3016 zcmd6pT~8B16o${WiT`1R#uRG{rJw>rAkoAd0~dNlOw-a9s->-zPvdV_pLb@5&bHfN zr59$hGqY#T&Uw%G{{Gdnu5}oRl^LhJU9xZ3Dr?(D%oXM{Xw50wQ+r~4xNbP@@MVvE zV&^unmfKZrjq%Dh7~<{1t&>~0bP|sWa$Z}_Hj#Y-*M?QyH$qj0f7N|?&DyssB=y{B z$uwqR+qZqr%E)=ilfYSJSF<IL;l`OQ_pWWvv0!OC)Qqvo=`e!MFGOJ>Eoo^6L`I0Nu_a>7 z#x-J6r-Z0(+jn&Dx}7qqNLGf(8bD1PF8N6kCpDkeShXqEA{(bMdR3?~;vjW09)@;D zbouJ2Jo38{SQOh`@lN z&N%1w-=W&|cTpe=>L999`UlF($|Ch=JE|7SF;yvL^FzprR8akks6$Q8HEO7*t#H1} zNYa0yQYvjeT^d-lm#e{u%DM<0ye47x=&Rfu(642x?|kT0NoD^ItNLMUL72VWgRM6r gwB<)xTT$Gn1NbOzyEXiwJ=WTrX=H3hXuWO!0BupZPXGV_ literal 0 HcmV?d00001 diff --git a/test.sh b/test.sh new file mode 100644 index 000000000000..735acd41add7 --- /dev/null +++ b/test.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash +set -uo pipefail +cd /app + +OUTPUT_PATH="" +MODE="" + +# Parse arguments: --output_path then mode +while [[ $# -gt 0 ]]; do + case "$1" in + --output_path) + OUTPUT_PATH="$2" + shift 2 + ;; + base|new) + MODE="$1" + shift + ;; + *) + echo "unknown argument: $1" >&2 + exit 2 + ;; + esac +done + +if [[ -z "$MODE" ]]; then + echo "mode argument required (base or new)" >&2 + exit 2 +fi + +case "$MODE" in + base) + pytest tests --ignore=tests/test_binary_search_duplicates.py --junitxml="$OUTPUT_PATH" + ;; + new) + pytest tests/test_binary_search_duplicates.py --junitxml="$OUTPUT_PATH" + ;; +esac diff --git a/tests/test_binary_search_duplicates.py b/tests/test_binary_search_duplicates.py new file mode 100644 index 000000000000..eb97b49200c8 --- /dev/null +++ b/tests/test_binary_search_duplicates.py @@ -0,0 +1,13 @@ +from simple_binary_search import binary_search + +def test_binary_search_leftmost_duplicate(): + assert binary_search([1, 2, 2, 2, 3], 2) == 1 + +def test_binary_search_all_duplicates(): + assert binary_search([1, 1, 1, 1], 1) == 0 + +def test_binary_search_not_found(): + assert binary_search([1, 2, 3], 4) == -1 + +def test_binary_search_single_element(): + assert binary_search([5], 5) == 0 From b17b5a2e8e3032932b1f2b29f70834857eb70240 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sun, 19 Jul 2026 16:27:03 +0000 Subject: [PATCH 02/15] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- tests/test_binary_search_duplicates.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/test_binary_search_duplicates.py b/tests/test_binary_search_duplicates.py index eb97b49200c8..945377cbb41f 100644 --- a/tests/test_binary_search_duplicates.py +++ b/tests/test_binary_search_duplicates.py @@ -1,13 +1,17 @@ from simple_binary_search import binary_search + def test_binary_search_leftmost_duplicate(): assert binary_search([1, 2, 2, 2, 3], 2) == 1 + def test_binary_search_all_duplicates(): assert binary_search([1, 1, 1, 1], 1) == 0 + def test_binary_search_not_found(): assert binary_search([1, 2, 3], 4) == -1 + def test_binary_search_single_element(): assert binary_search([5], 5) == 0 From 79f03dfbe6761a1b7de6378afbab0f753f63b4b8 Mon Sep 17 00:00:00 2001 From: Maksym Konotop Date: Sun, 19 Jul 2026 19:33:54 +0300 Subject: [PATCH 03/15] Add init py --- tests/__init__.py | 1 + 1 file changed, 1 insertion(+) create mode 100644 tests/__init__.py diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 000000000000..e070442d6958 --- /dev/null +++ b/tests/__init__.py @@ -0,0 +1 @@ +# Marks tests as a package \ No newline at end of file From 58b07eed05bc326795d0486d2672be553c2d1735 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sun, 19 Jul 2026 16:34:18 +0000 Subject: [PATCH 04/15] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- tests/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/__init__.py b/tests/__init__.py index e070442d6958..3c76fd3a72a3 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -1 +1 @@ -# Marks tests as a package \ No newline at end of file +# Marks tests as a package From dfb92f046d1cd5bb888556123473bd1677c52f68 Mon Sep 17 00:00:00 2001 From: Maksym Konotop Date: Sun, 19 Jul 2026 19:47:39 +0300 Subject: [PATCH 05/15] Update the test file --- test.patch | Bin 3016 -> 1860 bytes test.sh | 1 - tests/test_binary_search_duplicates.py | 3 ++- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test.patch b/test.patch index b60b9abe518ba97dc715b33eab00d89681e8e99c..71dd8c5327396053e313426df236691f0c5ff701 100644 GIT binary patch literal 1860 zcmcJPO>fgc5QgWB#D7>74z1jTgvJR4iVA8aE{GoBgplPVcBxd7s!jy`^T6}Y#w3Ke zrBcwy-r1em`Pg}9e*PHSg_TgS7Ie;T2A|s#*1{_OZM$MWvypv4GHj4MvsM?y6AK`?Lo5e#%<(wZ8u0uc9&>Z@XZnB?zK6xfXA3) zfn9m2_qXL-ZOB$<>v<0Bz*3?cVYNp-%5%iN51;ZM`rEGOskd(Zl~rv&G0}QPwe;AI zk+rbCZv(i*xjtN!D3U;xa_V;F@dkTuAMJyk`9EWQ&F-xo*$$+Pg1tlM#7_S>lcZ&j zke*@fnmQEl;?8YuU)fE-MP<)9RX$TrXZX}VTcAdmdHI`v#cswc>Sn;glvs;J1m8H1 z^$zw43ijB23zfoThwn4=f_2Qz7`Qdjf12={@VaYz^tG%nUsx08VDZM{ z_1;l>KmQZ_%4^9w_vyX#R_Ap;i>m8{IT7nx_*&1WRoj{aBFzg;jJvA4%N$CXIs4p6 Qd6B?;JmTN+mr4Bp3mgY3pa1{> literal 3016 zcmd6pT~8B16o${WiT`1R#uRG{rJw>rAkoAd0~dNlOw-a9s->-zPvdV_pLb@5&bHfN zr59$hGqY#T&Uw%G{{Gdnu5}oRl^LhJU9xZ3Dr?(D%oXM{Xw50wQ+r~4xNbP@@MVvE zV&^unmfKZrjq%Dh7~<{1t&>~0bP|sWa$Z}_Hj#Y-*M?QyH$qj0f7N|?&DyssB=y{B z$uwqR+qZqr%E)=ilfYSJSF<IL;l`OQ_pWWvv0!OC)Qqvo=`e!MFGOJ>Eoo^6L`I0Nu_a>7 z#x-J6r-Z0(+jn&Dx}7qqNLGf(8bD1PF8N6kCpDkeShXqEA{(bMdR3?~;vjW09)@;D zbouJ2Jo38{SQOh`@lN z&N%1w-=W&|cTpe=>L999`UlF($|Ch=JE|7SF;yvL^FzprR8akks6$Q8HEO7*t#H1} zNYa0yQYvjeT^d-lm#e{u%DM<0ye47x=&Rfu(642x?|kT0NoD^ItNLMUL72VWgRM6r gwB<)xTT$Gn1NbOzyEXiwJ=WTrX=H3hXuWO!0BupZPXGV_ diff --git a/test.sh b/test.sh index 735acd41add7..ca6156bfdb8a 100644 --- a/test.sh +++ b/test.sh @@ -5,7 +5,6 @@ cd /app OUTPUT_PATH="" MODE="" -# Parse arguments: --output_path then mode while [[ $# -gt 0 ]]; do case "$1" in --output_path) diff --git a/tests/test_binary_search_duplicates.py b/tests/test_binary_search_duplicates.py index 945377cbb41f..7bd8347aa422 100644 --- a/tests/test_binary_search_duplicates.py +++ b/tests/test_binary_search_duplicates.py @@ -1,4 +1,4 @@ -from simple_binary_search import binary_search +from searches.simple_binary_search import binary_search def test_binary_search_leftmost_duplicate(): @@ -15,3 +15,4 @@ def test_binary_search_not_found(): def test_binary_search_single_element(): assert binary_search([5], 5) == 0 + From f5c5b1331785d691774da9971395c159a618d451 Mon Sep 17 00:00:00 2001 From: Maksym Konotop Date: Sun, 19 Jul 2026 19:57:25 +0300 Subject: [PATCH 06/15] Test patch --- test.patch | Bin 1860 -> 3386 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/test.patch b/test.patch index 71dd8c5327396053e313426df236691f0c5ff701..d7536ce2196d09580e643f77be0df11a44d54a0f 100644 GIT binary patch literal 3386 zcmd6pTTfF#6ovP*iT~kJ2yyaCvMB!bIiS4R&bot!%UUbfG=^ixK@ z%h*G@$66EQ;_s!7!79Wld%eM$-#N6;_Q^iFzRLKTfA4JH=4f8xy&c*cdz)MHJJ(nt z==jKvxS<4gVQD!`V)&J|$5;oQ|0?01^eW^Dx0KMq95dNsC?P57xeKogFsrXJri>@H zFd`}G$xKSNcE?7Np~;KnYtr9Z!HIhy&m*c0aQ_6WysQXEtS`?ke}--!-aNiHe(TG^ zdm3o*#Myif?PPY!uM4J(^HV&h#p)R-Gx+VY7WDkeUKFxb6!=)XUl)qQl>0q;*;e}S z|9mgKCisNBqHI6tW$B?xE(O~lNGu{+8sfn&qI!?NvW^6+`0C3ses)x_bF zopj?U^Kr(?88M5zpT_9(-WqNl^@pC_qJ5vWlDkT6V?Wv*X1eMi`o;Yg z|5watF3VSmsY@cF!#Tp~?^$N$c5wbT=NGc+4W7_(5nP%OCn4HHY~;PL*xM(u`@itV zzIuOc>60a^G}%|0(>&-jt~ZnA@ENR literal 1860 zcmcJPO>fgc5QgWB#D7>74z1jTgvJR4iVA8aE{GoBgplPVcBxd7s!jy`^T6}Y#w3Ke zrBcwy-r1em`Pg}9e*PHSg_TgS7Ie;T2A|s#*1{_OZM$MWvypv4GHj4MvsM?y6AK`?Lo5e#%<(wZ8u0uc9&>Z@XZnB?zK6xfXA3) zfn9m2_qXL-ZOB$<>v<0Bz*3?cVYNp-%5%iN51;ZM`rEGOskd(Zl~rv&G0}QPwe;AI zk+rbCZv(i*xjtN!D3U;xa_V;F@dkTuAMJyk`9EWQ&F-xo*$$+Pg1tlM#7_S>lcZ&j zke*@fnmQEl;?8YuU)fE-MP<)9RX$TrXZX}VTcAdmdHI`v#cswc>Sn;glvs;J1m8H1 z^$zw43ijB23zfoThwn4=f_2Qz7`Qdjf12={@VaYz^tG%nUsx08VDZM{ z_1;l>KmQZ_%4^9w_vyX#R_Ap;i>m8{IT7nx_*&1WRoj{aBFzg;jJvA4%N$CXIs4p6 Qd6B?;JmTN+mr4Bp3mgY3pa1{> From 634f45c0a3f828c60b693dd313fed43832ae50f5 Mon Sep 17 00:00:00 2001 From: Maksym Konotop Date: Sun, 19 Jul 2026 20:17:22 +0300 Subject: [PATCH 07/15] add patches --- solution.patch | Bin 0 -> 5330 bytes test.patch | Bin 3386 -> 3328 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 solution.patch diff --git a/solution.patch b/solution.patch new file mode 100644 index 0000000000000000000000000000000000000000..2987e6ff7e8f85661a0f3695c286deb867841af9 GIT binary patch literal 5330 zcmcgwZBG+H5T4H_{)e@GpahG>wor%~zvvGzeyfDH7HH&JY)jA({<``+GdJwr^^PJQ zX4AXfz1^8-o|)a9?eAYh8Ote3kQT}rS_{;V{%FC9g_E1M{N*_EDj(btus>|oTEj@w4N zE0jRnS~b~4c^g{lv+#p_0J;`%Z^jM6mg82^Gb8z!;j}UnP zZ!^qKP&+_5l`BZRLLYs4fL@b0MUO?o1iGfEAK^Dv&2!~6WS%YXKGGf0U3Q}b(vRbE%%z@PSPwvLd_jnS6N)sRz6|=h1#3<2yHF5@xDl1w%@E? z*82shufSGbtL-|D?O~Pg_M-t<&;es;T#+TGkMuYiiLN&Qz}rQ8PQOw;0#uc0MMi2hg+%!70WR5!CHr zvv%vr^|Y|Z**?X0Q0AE{n11#ZEv=918JM0Rn;J*$wNrTl4`uTb<{IzxtZS!P zMx5pQIddgHPlMzciK7#oze8kfQ$5R>OYsC{CQzpHHF9O1s60oa48xhlH$V=Nm%D$5 zIA%_HDdo7c@m195l7hU2^i}#TGm0|G_1$;g<~8h<*vM7lsERQ;N>Bc}aTJ+mPR`sX zATn$h$s^)dD;MzkwMOnaP@f?qGw)keSH%Dsw4FUlVyw-PVO${MOonGP8-<+X8d}C0 zUyL&9r}r3hj={5LN9k{~)1)`=<`RR? z%n*IY`ftPu)cJI0)5dd5UNl=U6*xnrN;X_4i()h1?9L$V}= ztA#f-;`1?nqbswKC@jhrK+(XyL2Sj_5^vx$%_*|1a7Hyde*es}#M|9eS)oPoCg})$ zj^EC!*(&bC_CEpt3nHh+7EfP~jr&f3BG=sSvlf$6-{%8lnl9EDiSg{YRBtjqny{@Q zH#sS{ka7(k87ViZ499z0!o>|n=40R%GR^L|f02Lxe~Rns-|Wn#I4)dY$XUeD5~gXhd0yjL|;w^$;%HM~}zm{&5dyv93n)2kEKl4*&oF literal 0 HcmV?d00001 diff --git a/test.patch b/test.patch index d7536ce2196d09580e643f77be0df11a44d54a0f..8990257d78bb0792fc2d4b3cbe2cb6991671e56c 100644 GIT binary patch delta 32 ncmdlb)gZM&h@Ib Date: Sun, 19 Jul 2026 17:18:04 +0000 Subject: [PATCH 08/15] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- tests/test_binary_search_duplicates.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/test_binary_search_duplicates.py b/tests/test_binary_search_duplicates.py index 7bd8347aa422..fd157041879a 100644 --- a/tests/test_binary_search_duplicates.py +++ b/tests/test_binary_search_duplicates.py @@ -15,4 +15,3 @@ def test_binary_search_not_found(): def test_binary_search_single_element(): assert binary_search([5], 5) == 0 - From d85890cffccf9dfca5ca357c4a1ca894be6c0890 Mon Sep 17 00:00:00 2001 From: Maksym Konotop Date: Sun, 19 Jul 2026 20:25:41 +0300 Subject: [PATCH 09/15] Rename test file to match PR description --- ...binary_search_duplicates.py => test_binary_search_leftmost.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename tests/{test_binary_search_duplicates.py => test_binary_search_leftmost.py} (100%) diff --git a/tests/test_binary_search_duplicates.py b/tests/test_binary_search_leftmost.py similarity index 100% rename from tests/test_binary_search_duplicates.py rename to tests/test_binary_search_leftmost.py From e6b3d8b31eaa86d0b60fcb2732b9b396f46327ba Mon Sep 17 00:00:00 2001 From: Maksym Konotop Date: Sun, 19 Jul 2026 20:31:25 +0300 Subject: [PATCH 10/15] Update test script --- test.patch | Bin 3328 -> 3316 bytes test.sh | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test.patch b/test.patch index 8990257d78bb0792fc2d4b3cbe2cb6991671e56c..f372cb7a457162e49ec6bf451d695cc25fefd96c 100644 GIT binary patch delta 49 ycmZpW`XV_Yh1HzFl)-fJMh?}DeLd`xEw}_G>v7nD=?0EtU^<6gZgT}^2QvVElMep? delta 43 wcmew&*&sC`W%3I)t&M#>?2~m^WhNVOm;q_2$%ohiCZFRd0I@fRa4uj50Ad~v?*IS* diff --git a/test.sh b/test.sh index ca6156bfdb8a..0dac8f63d6e9 100755 --- a/test.sh +++ b/test.sh @@ -29,9 +29,9 @@ fi case "$MODE" in base) - pytest tests --ignore=tests/test_binary_search_duplicates.py --junitxml="$OUTPUT_PATH" + pytest tests --ignore=tests/test_binary_search_leftmost.py --junitxml="$OUTPUT_PATH" ;; new) - pytest tests/test_binary_search_duplicates.py --junitxml="$OUTPUT_PATH" + pytest tests/test_binary_search_leftmost.py --junitxml="$OUTPUT_PATH" ;; esac From 98b8c6e53698d50851aaa02357209b7ae21cbe46 Mon Sep 17 00:00:00 2001 From: Maksym Konotop Date: Sun, 19 Jul 2026 20:44:49 +0300 Subject: [PATCH 11/15] Remove unnecessary __init__.py from tests --- tests/__init__.py | 1 - 1 file changed, 1 deletion(-) delete mode 100644 tests/__init__.py diff --git a/tests/__init__.py b/tests/__init__.py deleted file mode 100644 index 3c76fd3a72a3..000000000000 --- a/tests/__init__.py +++ /dev/null @@ -1 +0,0 @@ -# Marks tests as a package From 3b160642d75eb8fb2e8850de2d13c9ebe1ac1d8f Mon Sep 17 00:00:00 2001 From: Maksym Konotop Date: Sun, 19 Jul 2026 20:54:17 +0300 Subject: [PATCH 12/15] Add __init__.py to tests package --- tests/__init__.py | Bin 0 -> 58 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 tests/__init__.py diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..daaf36b62f43c259d3c2a96c7883ac7476b0053d GIT binary patch literal 58 zcmezWPnki1!IvSCp@<=yp%}<6VMqniC17?UlvH3S0IEm^sz_u=2g>s@a4`S?elZIQ literal 0 HcmV?d00001 From 37e0a9b8d3afa01ad5cf8008ce349d2ba19453c4 Mon Sep 17 00:00:00 2001 From: Maksym Konotop Date: Sun, 19 Jul 2026 20:54:34 +0300 Subject: [PATCH 13/15] Move leftmost binary search test under searches/tests --- {tests => searches/tests}/test_binary_search_leftmost.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {tests => searches/tests}/test_binary_search_leftmost.py (100%) diff --git a/tests/test_binary_search_leftmost.py b/searches/tests/test_binary_search_leftmost.py similarity index 100% rename from tests/test_binary_search_leftmost.py rename to searches/tests/test_binary_search_leftmost.py From 484b1d749c663560611c798c7e9563a476a7abf7 Mon Sep 17 00:00:00 2001 From: Maksym Konotop Date: Sun, 19 Jul 2026 20:59:24 +0300 Subject: [PATCH 14/15] Update tests place --- {tests => searches/tests}/__init__.py | Bin test.patch | Bin 3316 -> 2988 bytes 2 files changed, 0 insertions(+), 0 deletions(-) rename {tests => searches/tests}/__init__.py (100%) diff --git a/tests/__init__.py b/searches/tests/__init__.py similarity index 100% rename from tests/__init__.py rename to searches/tests/__init__.py diff --git a/test.patch b/test.patch index f372cb7a457162e49ec6bf451d695cc25fefd96c..2f806fbc370496e97ec42f4025c97b554051fb8b 100644 GIT binary patch delta 148 zcmew&xkh|~41Y00DnlYe5koRV29Q-enUm9dvH=Gh7IFW{$Jl)M(-=}13>i!r%oz+A zOc)F&E3)fjQJcwaUFI9FM6gV@;}o0h M#<~nlv#~`000R0Vt^fc4 delta 306 zcmZ1@{zY6xcD71GqdU T?_-o Date: Sun, 19 Jul 2026 18:00:46 +0000 Subject: [PATCH 15/15] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- searches/tests/__init__.py | Bin 58 -> 59 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/searches/tests/__init__.py b/searches/tests/__init__.py index daaf36b62f43c259d3c2a96c7883ac7476b0053d..d225bc65ea3f8447e43635bd271d4fbf1de703f2 100644 GIT binary patch delta 6 NcmcDro?yku1pozu0ZRY? delta 4 LcmcDvnqUP00{8(y