From 3fb51b4951f250ac6b46b92be5fcd70f1bb3696e Mon Sep 17 00:00:00 2001 From: Billy Fifield Date: Tue, 30 May 2023 22:58:34 -0500 Subject: [PATCH] Python sorting algorithm unit tests --- .../__pycache__/bubble_sort.cpython-311.pyc | Bin 0 -> 992 bytes .../__pycache__/heap_sort.cpython-311.pyc | Bin 0 -> 1641 bytes .../insertion_sort.cpython-311.pyc | Bin 0 -> 1356 bytes .../__pycache__/merge_sort.cpython-311.pyc | Bin 0 -> 1641 bytes .../sorting/{heap-sort.py => heap_sort.py} | 0 algorithms/Python/sorting/sort_test.py | 66 ++++++++++++++++++ 6 files changed, 66 insertions(+) create mode 100644 algorithms/Python/sorting/__pycache__/bubble_sort.cpython-311.pyc create mode 100644 algorithms/Python/sorting/__pycache__/heap_sort.cpython-311.pyc create mode 100644 algorithms/Python/sorting/__pycache__/insertion_sort.cpython-311.pyc create mode 100644 algorithms/Python/sorting/__pycache__/merge_sort.cpython-311.pyc rename algorithms/Python/sorting/{heap-sort.py => heap_sort.py} (100%) create mode 100644 algorithms/Python/sorting/sort_test.py diff --git a/algorithms/Python/sorting/__pycache__/bubble_sort.cpython-311.pyc b/algorithms/Python/sorting/__pycache__/bubble_sort.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4bda923b0f6c5a195340d0fa2372f3f8c2511659 GIT binary patch literal 992 zcmZutO=}ZT6uoa=5|cFPv{kebq+_dMAUdW=i%JQE){Vvb5p)qLnskO_YChVTX(45b zQ|TgwfGG$~!G(%wMHl`F_o=uD0|h}h*#(LqU3uT6-*{*4Va_|}y?5q*^!vSl_59ns z^nw8VVq~uzyC2(6@na1#Ai+D51c@v|l5ijs89v~i&)DrEfUBIu9bc7U3?}_a%2b&i zS1X+oO+e5QJkdOZ=QR5n1Q_@j3^V9pkVKf;zYK{Bn__SOMpy&=kY*f2XOTPXlQ@GI9CPmaIs9GhcA-DINDVM3OWQ8S(2L|??U_AD_1yooqr0a# z#z%1XftRt$P-VgZ91>lKc?GOkEGDGq(&?O>D60D9l&S{p^~d3GNC*#xguw{*P)LYG zL&6aDjcb#(p~+^{#D*Ye(VSecoNB6&k%JD4;wcs>SVXbNw8k>Cn|2a8#U8i_`Ly9&OVrx~%D9Dwip$ik{7D;=PidEfz!#(YD1Z9b)T-z*3Q@B z>jSma`o-10SA8wuJSZcS;|(77Rpx877DsvXwfj3S)On#XaOutLM)zCo{q>E+*X}Qm z>Rm#WR^zL#J?FanZ_CNfae{c5@==P&-kvvs=y?RVnC} zL(%2@Cs0o@p$B2dJ(4djSGER8RZoA|K9+mapRANU5{VgLXD literal 0 HcmV?d00001 diff --git a/algorithms/Python/sorting/__pycache__/heap_sort.cpython-311.pyc b/algorithms/Python/sorting/__pycache__/heap_sort.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..fb08ddbbc3149ac2f6942bbd2fcc661a17a6cff7 GIT binary patch literal 1641 zcmZ`&&2Jk;6rb4-@4Cj6q#?n$4rvlaa;s!%<)msGAw>-#5UF3G5)DFTn^|m=^#|iE zU~4UW;NVI<*rzOrgN0B?6%G-n`~%$A)*h^tB1J+REG`zgpkBh8b>haQ9nJoB-pqS% z-n{pFzXpS65RC8s_?rABAoM2_PKNJzarikbHW5Jt>nM%aFh&VPxS#PFNBHm28czg3 zK@*9%!7&>;!XeE^e1L++ZDE9V;OmYp(Ae>`n2ZsTR=qDOx7kJ%yYfv{*VTu*77eyp zaBXJWX2G;UAGMirdzQi90MySwWTM1Y>@?LrIy!2Pz-pZbI2lZd$%p>{Y$6kvc!Et_ zgnhylVXq|gWbDbJDVW>_oPgsY6PZHDTQdNOe=co6?%3s~P~uIo&qjQ%^$HsiY}Wc{TALOdpDf94{Uj=B2+$Y$RR6M7k{|1FAr2Ftw8-j zLslGFu}@}4MDlsCK7^>z`l(WRkMYR(FPv!5a3=28!syA+3tqeagqQfcSYou}PLq*F^GMluJAo$p z-|d%7MoIA$C0WxRdHoyZU0&BRu1M8PLi1`L<>^^?j*BxcPUTrTfNu0nw$$Nne&^1^;_uzK0TwK;2{cHN@&D~;fk6P)TGERK3m!QC2S>vBVm zIC8}Hre|0Esy1s~uYaQ#+Pa(zZ22aQ14LtUA5OI)S2+Y0QF z%s8W_wRqeWb2ODPo+8hwmyu`kd^$@W>DqgA5_B2s^4|b-c#QD@3fukjATV!xvn+Rn z0DiZFdT?ICZ*))(hLG@DrP$;{HXmvU{_^`3#kyu)tAEl6&p6?khM+itVxP3|}ce(f=_D~8v`L^KpP+#0PYsqfZ$Ig%UJ#XH7`{Vey zj(}eM`hxxeXN>0K!&xT+6c@n>f!vHod_WX3dGq0te1sSWd$wyJV5%iOAqC5nbP& zw?AFZ65g;qtH#K@NJd$)Lf|E?!#yVI1dUr{HWjryoHCwW(zDue3YvK=3(y4I0I>c# zJ3Bk3LKMv|UUVD;6^`&e`5oX5^8RC^*b|lkwbA=Me+!d*7f(|-z=XE;a2vJp^e_PJ zNo`DV3pQp?Zp&1v#2do%;3Z#rwWW$8LipT>9=sqLEbDM${^m%g)JVi2)6a8lNmwqU z_qVAGo1wHe_2kCJ#&BqkZHR8po1ACQ4Z!KiPZsmb3naflRu;&8U_e+FihK8->Pa4V zRTR9HmBIu!?Gg*+DzmdnC_{LNcS9K#B*d00-bH{;pXAC;jpaVGs?}z0yYM9UsIa=W znyYhXmleI$b8*pQu9v%5R5$l=(aLneOI+>aY0EgM6padDxeg0C(2>e3U>*{r>@xiqaYXj&F*joxA?s zXkvKj2~>u{F~g{tmTefVtA+D*hR&JIhvXC|x3X%e83uKVhQY;a;%A8v+pICe2orS< zKWQklD*FlX>%t=qa5}bLb7-T=Huxf`~ z#sv_hq=MFO@^nw0?&Asn!>)XYCy(%C4^Q^7>VMGFZXV*PBRti^Q~lILgs?OjgJ0-N fnm-rlK>?0_C}obMOfUYTBvNic!blxD$3_1OIka2{ literal 0 HcmV?d00001 diff --git a/algorithms/Python/sorting/__pycache__/merge_sort.cpython-311.pyc b/algorithms/Python/sorting/__pycache__/merge_sort.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9a130db0b95a8aed9729bd460c588a4f7e1fcd8f GIT binary patch literal 1641 zcmbVM&1(}u6rb6hP0}>c6f06isJ8?^mO}Ip#S&WeAgz|vi$X)}F3q<2XeXei)bdX@g@T5$wtZmKGAp-gf_=#k@B)FMEch5{(ce~S#$%v!Old*2RcxRp zn8e7wZYDEjKb!GRiT1Q%5c6FE4n{OQABO#tLZo#a?7faq8VH5?8c}E3k94B_-9$&{ z5dD|>gK2vg?L-@m9^gbe=o7HQU5t@YSG2?x_uUn3j!BN3(+f^8uhS_#T`E#D=66WW zD4C9&H#7(5984W-IC$E@GbKN)>95<5F*RGv>*`%2mn*9`Qn%EhRQy6*ou$QTebS8A z)3c^tGSy6Osz?npn=h$1%VxG%Pz94wm{Rw7&&`&pDDOFO(Mtu;YN2g^kjEFxOJ)1i zBWAJHVf)T@FwC_|Y&m9+RnAyL)j)`k^GQCw9JG=mNkQr*U&$dpw>YviVvYO~ZUwuo zYgQ6QhU03m`{|I4D_57VK8f{LL!O zpyqGG*8*)n{-Z!BVqM>XV@FOPoz7>BLOLA_yW;Joq8qMwYh8FC5fyKtdtSKj;OJ4| zJc!pm1yaM^-Q9JMK{OvuL8o=CKS^n(oEVJ}ufKw$kjd-mv?FIIb(C3Z6wEh>Mntj0 z;C=)y<%`}gj8JH(m1%9j4`hHPT)ulHC+Oc5TE}f_if63)!@ZV?}Lj$x~wZ) fT}`YeUQVtJt`B}Br$3X^n|ohPLF70r@mPNX@ta_j literal 0 HcmV?d00001 diff --git a/algorithms/Python/sorting/heap-sort.py b/algorithms/Python/sorting/heap_sort.py similarity index 100% rename from algorithms/Python/sorting/heap-sort.py rename to algorithms/Python/sorting/heap_sort.py diff --git a/algorithms/Python/sorting/sort_test.py b/algorithms/Python/sorting/sort_test.py new file mode 100644 index 00000000..10cf7699 --- /dev/null +++ b/algorithms/Python/sorting/sort_test.py @@ -0,0 +1,66 @@ +import unittest +from merge_sort import merge_sort as ms +from bubble_sort import bubbleSort as bs +from insertion_sort import insertion_sort +from heap_sort import heap_sort as hs + +class TestSorting(unittest.TestCase): + + # Merge-Sort test cases + def test1(self): + test_list = [5,4,8,6,2,7] + self.assertEquals(ms(test_list),[2,4,5,6,7,8]) + + def test2(self): + test_list = [-1,5,3,10,0,-8] + self.assertEquals(ms(test_list), [-8,-1,0,3,5,10]) + + def test3(self): + test_list = [-4,-10,-2,-7,-1,-6] + self.assertEquals(ms(test_list),[-10,-7,-6,-4,-2,-1]) + + # Bubble-Sort test cases + def test4(self): + test_list = [5,4,8,6,2,7] + self.assertEquals(bs(test_list),[2,4,5,6,7,8]) + + def test5(self): + test_list = [-1,5,3,10,0,-8] + self.assertEquals(bs(test_list), [-8,-1,0,3,5,10]) + + def test6(self): + test_list = [-4,-10,-2,-7,-1,-6] + self.assertEquals(bs(test_list),[-10,-7,-6,-4,-2,-1]) + + # Insertion-Sort test cases + def test7(self): + test_list = [5,4,8,6,2,7] + insertion_sort(test_list) + self.assertEquals(test_list,[2,4,5,6,7,8]) + + def test8(self): + test_list = [-1,5,3,10,0,-8] + insertion_sort(test_list) + self.assertEquals(test_list, [-8,-1,0,3,5,10]) + + def test9(self): + test_list = [-4,-10,-2,-7,-1,-6] + insertion_sort(test_list) + self.assertEquals(test_list,[-10,-7,-6,-4,-2,-1]) + + # Heap-Sort test cases + def test10(self): + test_list = [5,4,8,6,2,7] + self.assertEquals(hs(test_list),[2,4,5,6,7,8]) + + def test11(self): + test_list = [-1,5,3,10,0,-8] + self.assertEquals(hs(test_list), [-8,-1,0,3,5,10]) + + def test12(self): + test_list = [-4,-10,-2,-7,-1,-6] + self.assertEquals(hs(test_list),[-10,-7,-6,-4,-2,-1]) + + +if __name__ == '__main__': + unittest.main()