From 915a7ae2268326141cc2af4ccef168295a908270 Mon Sep 17 00:00:00 2001 From: Markus Lampert Date: Fri, 9 Aug 2019 22:53:58 -0700 Subject: [PATCH] Added basic test case for PathHelix --- src/Mod/Path/PathTests/TestPathHelix.py | 49 ++++++++++++++++++++++ src/Mod/Path/PathTests/test_holes00.fcstd | Bin 0 -> 10577 bytes src/Mod/Path/TestPathApp.py | 2 + 3 files changed, 51 insertions(+) create mode 100644 src/Mod/Path/PathTests/TestPathHelix.py create mode 100644 src/Mod/Path/PathTests/test_holes00.fcstd diff --git a/src/Mod/Path/PathTests/TestPathHelix.py b/src/Mod/Path/PathTests/TestPathHelix.py new file mode 100644 index 0000000000..40d1f3e67d --- /dev/null +++ b/src/Mod/Path/PathTests/TestPathHelix.py @@ -0,0 +1,49 @@ +# -*- coding: utf-8 -*- + +# *************************************************************************** +# * * +# * Copyright (c) 2019 sliptonic * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +import FreeCAD +import PathScripts.PathHelix as PathHelix +import PathScripts.PathJob as PathJob +import PathScripts.PathLog as PathLog +import PathTests.PathTestUtils as PathTestUtils + +PathLog.setLevel(PathLog.Level.DEBUG, PathLog.thisModule()) +PathLog.trackModule(PathLog.thisModule()) + + +class TestPathHelix(PathTestUtils.PathTestBase): + + def setUp(self): + self.doc = FreeCAD.open(FreeCAD.getHomePath() + 'Mod/Path/PathTests/test_holes00.fcstd') + self.job = PathJob.Create('Job', [self.doc.Body]) + + def tearDown(self): + FreeCAD.closeDocument(self.doc.Name) + + def test00(self): + '''Verify Helix does not throw an exception.''' + + op = PathHelix.Create('Helix') + op.Proxy.findAllHoles(op) # add all holes to the operation + op.Proxy.execute(op) diff --git a/src/Mod/Path/PathTests/test_holes00.fcstd b/src/Mod/Path/PathTests/test_holes00.fcstd new file mode 100644 index 0000000000000000000000000000000000000000..5c6bd228272800e6b0383bba6e822bc72ddc4f18 GIT binary patch literal 10577 zcmai)1yo$W+U^G}?pmz4ySux4ad)@kR;);IcPLW4IHeSK8Qk4idRnTRO;~=rnzuWJyBf<}=Om2Od(`QLku*3s;CilYN(%V_#X(s$1j!GFyB={S zl<_9K3UDGG5#+Kw0z5;-r2Aif%x!!(x5*zoNbR* zc|SZ`HQofP#>9T=GFhJ^kjwdi{zLH;7L_o_a02A2udm;Y+QRfDl(B%Zc_oO+nSXuY z>VqNg>BRt?A%Zf-&4S%t+&hv>=$Ng6`?%OK6`jtcT>+07RqbH0ftF-fI;&2iRnS@+ z{rVJPLY=m??=t$D1JQ!~2kg0S?C7Nubo@Fp_L8BQHrVJZF(hrtW7S(sdSZ`^_RV$E z2@r)|%M~~>SF9Dj8%he?=!^#(qIQXQxPFVLAD9OE znCwBLiE*Y4apMv@AL-o8>S=M?N^9%gI* z%iy2&JlQGsk2Q!uEWqaQ2yOVvZTRY;F$xj!FB(Vghp?wLx+sw$7{f>G9P%h>jU4O6 zwj0-&gGg8B6586QX0uaD^Brw!K|l~_{)~^vq4+x13r+s;CJbw4k+ek6y6kNiNMNS0 zf#nF9Nh4_-hFZL?VC9vr!3I3z!*eW{6uVpSyysF3Eqa@~nP&&{8R%8<;^Pidhfen~ z^HbK9(^vDjZ!M4=bp#9V1uz@A8wpb5JfglmbZIUcaL6?Dj1JQKC0RSMH?WvKwkT#t z3X-qxX?~OtOyN9uqyQ5lt6Kc%-%~5Zjgx}u$i(|y6RY21_-@bQ-0dMtOxw8zqG6c^ zBd0tyvjy4^vg7LERRx}d%ub=NM$S9#8=2tziP@S|I;^sjY~HMbE6=!$vW&E1Ts~Qy z9oidS*1;WXtnq>l5>KQp-&!AMxF(x}>Jg;=a|a2|@!2ppI!7%?mdR#r9tC~MHTq6m zZl?fmTVpJJ?JZpv`a7Tpka+0W2Yx1zj>LSWPwZl-Zi9FTXeUTzZ1q-=I+>f1;Z$(E zEb2*hLxrSv60;P2cli;C+?kz14KkfN?M__QbQ(9Y28*d>KlfdBwLJ~(iZnJY8u+!l zP?JrQ7QJM73807(PO~b&LyYa_73~D4!rk-ywm+%D*KX<*?rpeoBiu{;8iTg2SpNay zXS99`*S3xFOTr3iYX^}VRvnEnMJIL#nKdXQ$g+nqQSy@rUx%8~esHv{g&3Bd)K9B? z66hbnj zxXHk3Fg$pHCl0mxNeVmfLt`8!+r_@$gyy&5ACbdpQ)8`N?^O&OP9K+R)zu6n=VgoS zp{HN>%?-4Hu}?;BcT}=*11l-s4ewdn=U$f0^ClnJ<6b4Ui_6{&neJLeJ+MfW{G6kV z^w~d8*BUn9-V8OZ)YuqyAfiNyLgRC`iJm4?Ji983oP00zuZo29+E{~{Vvis9Jb(Q! z?9}}Jo!4b%3|XV*sIXv~7h!VkB_G`@eg{%zb{GHLuep1rRJft`B)BEbdDIl0I)!`F zs#GH3#>P)bGDvN3lV;g(pVM!f@0-Py$o zvKxxmJF*(8Bo`w$s&ooK-=Mt1YpXKbbqP>Qib0pTL+J|X-4BUj!iI>1*a~UG*j0xC z;cDg+wC+Uy2s1CFH%00R^kq5?gYm`gJ=l>qnz3m(0Cs$%$pCePh zGxT~>`Fg&4ZXm&mj-jgS4w3h@i-#r&{>iYQi{G3+Q+@Au*i5-_37!k&SAmcC{<`D9 zT^YW>)-*op`3qQ2@KxXzZ1AvPMP_>=t0(yT=8t?}sGltrRU``Dk#=EQiwm^KQ}?7~ zKKUTE26)k>q-0hspOIHny{gExyTkX1d-E;<2H|L!!S)A508}L#Fv{K~sw2O2fI@<2 zLQRwfQ(V?@1fjP5IG)-_R6|`lP9EK6ont~mXef%ACWl#QmywxnET%C@7h!^}!kw`kHh$V+_}II!|}Hx6vKNb8u7MZ=m*BIEV=2NI?Q1fBoLqTGvn=a=4lx50c zL_;ENEv5--(I!;0Cd^Y=esqVA%$!(hxuIy`0|Z|9~`~e0`ES$(g)mZ2Vjnu zMhC2zTiYB+A(QyB|FTl4XCK9SZW$BQku1v& zpVcGsSfVvz43Bxx%l)Wedf$Hy?P%akPr-An!v#(x#K%-5mx?+2ey_TTNYk0_(!eO9 zkGb!tFDcW0Q)VwY?V!^WC*j-TUeWLd(oj8nUGchAOi%OG{H?q~{BTYfGN*JDeGMp; z%v|g&$U45JBE1`7!*@*D_^6~ZSNef^3sIA_timh(D;03GRegJjdn+aQ$LGu`3#0<3 z>-@y-mLGx^Ye$41Bxi*@rXi|@fJvBqojfQ&zV}3Cge&|6->^6{wA9in2V|(N#r^aW zn6TN%gw3|=?{=C^2x~ieWaj%{i^|Mk#vq^6c((M}63Xvh$EQmjPiH7lRQ3rN>NE0* zsYYCg5VS!xJ|h<}%3lQEPx=WEdo-A3f-!{)C2>|=9ZLtN4JPYHrWf(F~RInFV(9v(mPhHj>95dH-?~(JA6Zvp~BBY?BVO`%8k-*QiOQbcli0M1w z$;Oizq?J^&b7HSQ*Cn0VnJT;}LEzqDmy_yWXkO)s1OoJULt+>Pb-Ly(@kOi!Mx48d zu#0D1zJEjM^hn3)v=ODrnmlXTJyhDFY-a=c<&{zIF{Yi#B$u!iIHlu>RJNM_6LVvG zX?dkRCFe2q5}b|DlultI^ANlzZk;sxTxiMqy1}jM-t*~Q^9`fY9|>`-MiZzE3ILGf z0RRwR5@IDIXIE8ABS$j^V`oQD#(@127fR@f7aSqwcs~lKwC{@(S#h*WINNjK_64jX zwLtbSjvA;fe!`Nih@X?Tz{iC)gGbZ)aaa9TH!-V~ThQ0#T0_rPz`>qF(_otSvFv{P zJn7!#(Xo*MID>r1ID0djv3PVdvV9NczeEdS$=XkFzL89-JvKeFxu`K`Nl&>Ns?1a# z{47#-Zl-x54iUlODnq;4u&Em9wd8CiuhY$MZvLFOO}3vKVjgusGnTvZTrw65PC$LS zb?koxp(p|^y@;Slbkgd>MznTZitv1srK1&bf*B{;HPm0r!~AjjW20HcVUh!lNy0_q z!a!R0cU~p8B4wrGZn?q+Mz3p$m5@K(5iN#PkC zZa0ln-g?DfE)A)8hl+4m)lw#dbY(sdmr@)?#Kd{W5sL}# z!ORe1O3>OJCGPr>;oyD++awVU7*GAwX{quiq4j~ZqrV>!2OAeWN}H#(Uvi7O%eCb* zr;#w|8HSXU(@@tG5asV+->PqC55m>ZYxIA1^LBFo-um6EW&W5uY5s0=S@2M{oW!z| z(~N|Ehm9O9nT3WP!c8GvI-!%Es=4%rZFbN>xPUpFznq@IWrI8{uAWNsxz_8}?0d<)M`|1yA4L${EPj5oC zQ_3>}K9*M3htsT`^LYC|c2lQ+w~jSY2D2zkQ8U4E>Xi$Nt3 z0RP%2G{{OikEgrcRymKkyt~0Yw*kjv$DA!vq0h3%~>O)0EB(6GoKJG7yLAcfKRMfXOp~9 z#JOZVU4_^jT<7TG84H-}HW}Y4nwY1UZPlOh zDSax?*N0w#(=oD@kG9Wxb#fML-kyt++bD?c$n{}2qqKqw!>Y(%soJWdpH6$9i9fiW zksrT0{m5yK99l(n2(dOKiObi@)(~irT^UDRZ1urF^rB4J5P>N5OMAew7gGC|SAa0r zB|?FXH4t%(K#(DoC}d*_VMi#RM78|7s9N+@sqY0xol=O?1btry2XnZ=X{3lk=b zY$WejG*`5><)U{Yjzd2sj6=~=hKpoCznz+*qOB4!w;;aa-?P+}tUT4{ShXE92%SiB$8nD|kN}e|OP~Bn4l435E$kIbP7*QsgV|}#@0XsgMVLD&?<)S43 z*Zg3Lz}fkbdp}dPDXlRf`a*H}>XQ;N5zRs8CWG2+Xd?o<6JfJSr6?8-BbB*uit1Z3 z{#8@l8QCrd`EdqvGwuqLC-^^Iy@y`l0vQ|tfJ6cSUS9ulb>^S8KB6J-(8+}G{Xui9 zX&kD@iW-Cp)+nC=X}k-EBPxP%Mt*i;(HJmAL6C=uMh~Zsw|FwIpr5;ncjX1?4Cv-{*fat$TSB(<(pY^=#6Xo(Y_HS%AS4M2Dw@Vr(ycEi=C6&DElSy z;->ECJCW@eUR1F3%S1F`UIty^xq2WgPFw|8@!U>xZ^OKdrjU9^p^fXV6h|ti zmOGOD#s07^yeqwOf+q)GB~D>|gZx_^k|3;RSYge@U72782Xh%^5+6+#`5k^u5+56q z_Y{zNb~&`Df#j$L`v-MWvrhp98$W)0C3Hv`@N#;a)uYm}_vKN#h>R32%7KaSkpl0& zh+S?+6R|6@L0he&rp8lLB;G^(jyJWbBOAeNZCfI79X0Z?v-`BfuG5Hr|0BjkOPiq2fRbINwSQnPB`K4 zruyY~w9KdNI&RJ<@^qbK>Q0#kdztV`eAK7=v?;sK^P7ZYH!}+17J1H@4{l2%mz&T- zLN-W?^~_De-|Q4r$m-%5Z#pNpCLmE>+4JaPhVv!w{g_;7&BH-9?E2`+m{ERrzQS-x zXi=2U5?H-27y!@t_+8iIN}5nc_Z)aw45+)ffFe9+L-y1;ues{^2-*fo8CZoqLHrpy z8!__0N=N|UGtFP2!}2R5(3V%+WI}lfo!cf^4yuL(HhvOA#RqcC>Rp((LO){%)V9j0 zAZ*1aUF-y}7Y?VT?3kH$vl7+!Zfd>b=yYxGZO-t?4(G*C+x?W!cn(nD@Z@UKH;ZsO z=IY|A>*|MwZ${2^Oq0hLg{nl_qwQUBt+Kn??Oan{T3|0?Mfr?Gu|$kJE8;5OgyOsu znxtwM&ecX~P~YbAa%y9KAQ|wy66@5tgASkZb@b!(h95-GtDd^2lg}21GwYL&7a{zT zWQlOdu5LMI8{SsAZhTS9L%urPs+bHJsRMPNWe)TEe&qoCi<>;3SZ^`7KTlmF^YKdG ziRLU@9f;--go}lmlVuB}Aem11_%~k;4Z&u>c7>y9g|*EmxWF?Ev@9Q*tS}UQq5N2z zUF@*yg>jy#c*OPvh<^=i9jcBo&4yAu;Jf)UMK~<$NvO(Iog7&o@R~7Y27~#Li>m-- zfHmD!4BGK@ZRy+jn(=9pz&9N}rhuSVHmgamXnRVY?)ismRT(r43o2O z6=lB8(-Y#@OjX^DtPb5(@OHlUaeBPC-g;_o{qEDOWh-W8eeL>OEFk*G1=8B<9yZ&c zG2VP12P}8wDSe0LO*K8;`%1T116xyG#bbNu6}7;GAHTh1k`12beg?v=pqe#v`T0;Q zut;1YBc9iQ%I-CErCg2I?qQ;QSGzhjRu~iNbpGXhDhu%rK_{fVxC?P$$Ijv$t5?E6 zbXJg>5==?Lyt;3g2vyb8e$Sy%f~Pdu@R@2O8;wX5h5}3Cpq%+>@%7Z%S1-^dPn{rc z$2w|OIuj*Pl*+WR5>9b^%Y;U;rOWre48mkCuZxC7<%X1%>xsoyaD4nVCdq<42R%oM zCn)rmwVNw=Y)HHY;WMJxP>$I`g)xo2t9ob~I$7Dz3Ea*tK@&9kbTHD;F-#Ton}Hv~ z+UEGQ5xIoX$v*9hh~>ga1zTi!kpR1UVrATa;Ova5FN8?!Sk*9AWdSX7w%y~Z2(2V*~<~Q z?-&Z7Fp@g}6WB1Y<)kPT>RlK=N}T0jh7) z)%?T|Nf)M7#E5s-b&nCRc?7i_`mPnUWpZd`P)8o;FeH2)s2AxYt8^VpWItvf=tG*_ z(&3jU`$dqZa7`52cr|=(m(nbG40af`)*$Z!=Q_(GXMy3t)XF+zCQM)<&lc)v;Rrd{ zuZg||@%ru{IPGJ{6UJPipTK%mYWqiIzqkWXV-en6FpdJ;3@LWr$%Cc6HW0}%t?VWRX~n_CUrX{0D)K;kYnrth4Do)6O517 z1Y=DVP>zhb7DP0dKl5TlqSS!Bdd#tcfbG{g=G3LEC3cnjwRQH#)M?&wf=&2*@aX&c ztLb2l4RU17=o6kIbz}vp!6L4TBb5uZ=V z(4Kw$%h@4k%-JzLjQE0{wmG&6qbw{nP^Q!bysM#H+Bj7RXqLk@*$zZrz8g=w+my4H+* zKtv$Kn7sE_px0@PCbTE=Uw}ur5LpjA&IPiZeP_ez_rUSR3TtpJ%51W=E}AZ&D~~)@ zJ)qo0yRlW=ivpsknii|9uAUwZb2;1}0XtqUQe@7S5*zz2`$7~W$Yq6!`f~GfI0}jV zJU>RVGkMqJhmZA%F5Xdx@LOemS( z_LN)i_F|X;w{FqZR_(6aT#FSU8?~Gu#BJ{ga;X{&itNz5Kl1zKX63%>gyk4RsqY?o zARxFrm?qZA6on7B3LVp0d%aW!M_y`qd}J_{G{71QhEPW zQlL_a^*D8=sHTsxVmEIcB@fq#)C6*T;3cvC&yd zxijc{+Bb+#cZqHJE3AIET{5@3k&wy$U%2%|0kK%=RaF2kBq)zX<$yC-LnB{srY=|j zNC%Dy0`|>P{7NWz_k8Ag+ayI8a%wI$xf|MN+>00Hm98j9O zO>&kMJBGeNPCP)yCWSn8z0jA7Lu z!FVA+v18ZA6ltb13@KZMq(TAOCf=s#oy$wlezbUaqH?g5LDIDP@xqZU$=?Mpt!`{u z{j=xx!kKcK6%N%@r&PrML4T4bVZ$!eO@F=fNj63R^ls#Zun-)0b7UKQg@`X1e)TFF6@JzyL7|No3>Ouv ztT3W*2?3|j18;Sbb%C`=mARckLF&yu$&U(G%yZ-#Rlo-ElJ%o@A zN%Pm{pEM@b&m{ZUzjcBcVJxN%k_YKrMsA~IUs7>}E3Ik_l&2-Dv#ZqxL%VWi-jDON z3pvC0-$?men>64kcLY;T-R!He5k0vWQnKYmz^aIc^LWF6E5M@JbobJImEYaV{m7VyzaA!k)E?0{G zKo8zmOwG?LYvVYw_kkxTmG=s5enO<8!dWYiEX_=QeNbhyJ}yNWRnFR*%$k?fzMgbi<<`yq5?ls(6M5~iw)!54)= zNr!0ll&RG{RS`-c)L867>}C1z?dG;XiR;nQwgMTcAl;kIJtjWhQjER$=w7g`F>d!sqQ!jTn|_MZfzZP?Ad=JSi>f0c%k%jJ3|=*7hxEf%$A; z6^$&kI$FAdzuSHVM`HT(Ou0n8{=Vxu=cd5-`dZH?*RH5DQBtD#>I?tT?j?bst zy}d|6B51bBhP99x>vCqT1WYtQ#b;MT7k+;jUFew1_kCTT5D1ryFaVJQbkAd2t$Zbk zlu3?oZ-OKhI!JjKmYi0VeS54{m}in~-$xzi_L_M2h>>9uw5>MEXi+P(-2!^VaX+ZA z-KO$W!4T}Ysx6zS!sJucue($_<-6+OutJlK1s(66c$(23-B zg5!P=^e7;!wd;fiaLX7BOT(pl=H1&2YXAFWgmsboAESuf>O2iQVTw^m95ZeDXcmy- z8&&(U6X#V2FzPN}D7UcR3551LBji!^P1Qf(*~;*Ala9$EJ-!ux7$Is4>}4tU5^c23 z-)?_6$wj?Zf@&BeD{Haos5#0TFb|s(MV8l3cKkr`+DM10CUQp}SMRzQEv3>g*Qk8evJ+|+hbL^14;3G01>BoTV-gq zKz}lY?U#2R5aBnLKb~bL-*UVG9po+5mGh9___c%1L)d8&34DpjKV{im&(xutgLz~L z?r}l8><~}Ljl5dEIpzXW9piz#0oC3JNF&u7&i1hR#d&0C+ z7rW@;Uo+rVrX~P?LTd;nS+8m|g}eJ?5HGfKD%bIHB}cC$i$f*p29_k*YqoD(Wt^*% zXe(H?8uG*_Iloaw=3*r|9VT%d0UY8oAAPj)Xa0d)kf+!l4(uqWJ@R}Lv5+PBbhP64 z)zZNCb}7_p^orU7OWaGo`m(t)?emh7t7uuNI=oeKCw1!8YpLd_1lBON0x5MlRd#Dc zh^NWdZYZ;CY8sebO6*-KcrdM1)`*|<+39XeL<5d6Kk!#iQcAI6)*8KbgMbb#IVn>Y zuYc|3K|dUx6*T(8SZdSRo@j9ZL04ThWT>-0)o~1VnyshQhW%;NA9YkVJt>vpX?ei^ z&&dw1D7PE-Ws-w=dH;Hr$I9H?&BaXA!Pddq#1!zJ)dKjk^YzDR$Cw0$_|NJ;-#_=o zV`|jW6{iOaso%jEc_ZtNUjsfwXpVNA| zvtOky@aMMTK~fV0Cj<=@V{+@{#^3?jsCrB`Y&|%Mf?ArjQ!d}{hR%J z+w5N~3HopBuT8YS*}oU2|6+e&|Hl4WrvAvPUB&;m{O@o0_b~W5g8nIWfy1PK z#_ZqZ@4@hMApKM70-s;VKO^_Qu|EUppHdgdO7?QQe-5v|;ol|y99aL9xW=s zH~RZf`Lo^37xYif%>NDk8OZ;Xy1?;&7yWPae^&j9{7=;^e>ePlPyeZ!_XYh^^?!x` qRPFcz|JBtmG}O!5;pfT$84v;i02IB{K>