From 11390bb1f54430241634a1ec2657d4a93a27e641 Mon Sep 17 00:00:00 2001 From: fdai7745 Date: Thu, 8 Feb 2024 07:47:32 +0000 Subject: [PATCH] Daniel --- .../test_duellist_spielesammlung_projekt.c | 18 ++-- .../duellist-spielesammlung-projekt.d | 3 + .../out/c/duellist-spielesammlung-projekt.o | Bin 0 -> 8764 bytes .../c/test_duellist_spielesammlung_projekt.o | Bin 10168 -> 10156 bytes ...t_duellist_spielesammlung_projekt_runner.o | Bin 7114 -> 7104 bytes .../test_duellist_spielesammlung_projekt.out | Bin 76916 -> 93872 bytes .../test_duellist_spielesammlung_projekt.c | 18 ++-- .../test_duellist_spielesammlung_projekt.pass | 78 ++++++++++++++++++ ...t_duellist_spielesammlung_projekt_runner.c | 28 +++---- src/main/duellist-spielesammlung-projekt.c | 18 +--- src/main/duellist-spielesammlung-projekt.h | 16 +--- 11 files changed, 117 insertions(+), 62 deletions(-) create mode 100644 build/test/dependencies/duellist-spielesammlung-projekt.d create mode 100644 build/test/out/c/duellist-spielesammlung-projekt.o create mode 100644 build/test/results/test_duellist_spielesammlung_projekt.pass diff --git a/build/test/cache/test_duellist_spielesammlung_projekt.c b/build/test/cache/test_duellist_spielesammlung_projekt.c index 74c99eb..c7841c4 100644 --- a/build/test/cache/test_duellist_spielesammlung_projekt.c +++ b/build/test/cache/test_duellist_spielesammlung_projekt.c @@ -16,7 +16,7 @@ void tearDown(void) {} -void test_coinflip_player_x_starts(void) { +void test_coinflip_x_starts(void) { @@ -44,7 +44,7 @@ void test_coinflip_player_x_starts(void) { -void test_coinflip_player_o_starts(void) { +void test_coinflip_o_starts(void) { @@ -166,7 +166,7 @@ void test_diagonal_win(void) { -void test_valid_move_and_switch_player(void) { +void test_valid_move_and_switch(void) { @@ -272,7 +272,7 @@ void test_valid_input(void) { -void test_invalid_input_type1(void) { +void test_invalid_input_negative_row(void) { @@ -304,7 +304,7 @@ void test_invalid_input_type1(void) { -void test_invalid_input_type2(void) { +void test_invalid_input_overflow_column(void) { @@ -336,7 +336,7 @@ void test_invalid_input_type2(void) { -void test_getNumberOfMoves_returns_correct_number_of_moves(void) { +void test_NumberOfMoves_returns_correct_number_of_moves(void) { @@ -352,7 +352,7 @@ void test_getNumberOfMoves_returns_correct_number_of_moves(void) { - int moves = getNumberOfMoves(&game); + int moves = NumberOfMoves(&game); @@ -420,7 +420,7 @@ void test_BoardFull_returns_true_when_board_is_full(void) { } -void test_getCurrentPlayer_returns_correct_player(void) { +void test_CurrentPlayer_returns_correct_player(void) { @@ -436,7 +436,7 @@ void test_getCurrentPlayer_returns_correct_player(void) { - Player currentPlayer = getCurrentPlayer(&game); + Player currentPlayer = CurrentPlayer(&game); diff --git a/build/test/dependencies/duellist-spielesammlung-projekt.d b/build/test/dependencies/duellist-spielesammlung-projekt.d new file mode 100644 index 0000000..e5d9f35 --- /dev/null +++ b/build/test/dependencies/duellist-spielesammlung-projekt.d @@ -0,0 +1,3 @@ +build/test/out/c/duellist-spielesammlung-projekt.o: \ + src/main/duellist-spielesammlung-projekt.c \ + src/main/duellist-spielesammlung-projekt.h diff --git a/build/test/out/c/duellist-spielesammlung-projekt.o b/build/test/out/c/duellist-spielesammlung-projekt.o new file mode 100644 index 0000000000000000000000000000000000000000..ca060d17e06c82ffb39012b25447f3a4d8eac70e GIT binary patch literal 8764 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 KApc()`F{a{#Xa2s literal 0 HcmV?d00001 diff --git a/build/test/out/c/test_duellist_spielesammlung_projekt.o b/build/test/out/c/test_duellist_spielesammlung_projekt.o index 7bf0ec4c005b05cfab59d5b317568befb9176236..83a04df5cb13913482fb58b07c5bc52d98933c20 100644 GIT binary patch delta 2607 zcmZXW4{Q@v9LImJcO7k4+KzQ=cWj{Cx{m+B5y+x}EwIUuYy>+q6R>t$JL_&Oxn6-G zq2iyY#GuX7@F!pZW5NUx8Hq6YBOxZv0Ad0-kT^6^A%mbs4apMq_wLqLj$QKJ{od#M z`@Q$OcfWh>@s>j^_7$WM*!6bSE|Xc=+1u??oB*>N07tVIWU@T_N6@;>2QWY@h-^KK z)6nZw?)EugL41^2|8bhtfK-jt4 zUSEIh?NbVziMP2xmCg zaf7NhD#?fj!dc52de>d%GcADfg83kvL#@J7K9Olf`p#Qz3T^a+T(0s0jy!$zfM;gN zyBX1>YOC)$-tFzlh}sEOKN~ec{ZIxB} z96h|WuWBA`D{@Mm697tF=ufV(P)l}c37eGsI6^lU)d$aT`MgQ~j@6natAJO-ml>wF zi{?%9*>Y2z$@!uakgr%?x-YG$noGMUIVFv|9?iK*%=P#P%}!btyvpT|O!C2pRy`4z zGo8F&kDK@=i{4#p&t=^;NuUJ}uBQ>TZ*M~cjO1dWjk6MXjepwuZxD&-uy(u-UUnB-@^?w*7+NLR3g9I6GPXjvh*cHPty)&3 zy1EQ4gFVBo_qh5YXPy8Cpr5Dt&9&rdC*>Y~Jm}gCl_$^Jf8P?@-vcKCh|8D_C4i&icoi8wdF|w$$k@Am_fuo`n*#c z5_Wv#$tEQA)(6QEB!edM3z9ml-F#FDCc{qUJgGyn80#@l5*GT;qk98;QD7I&2m)dM zi013#2fIV`i)k_$pu^Y?QbCr<6&l3;CVdL~5t@``nviYv0J(j%vM)`)a-?D$sUAma z>7XpvtQyDHj3bJPY@qWhchF0fetNGmOj`qwyG%!Gm_~|=OCLU{!^ZE-iNH?$tqJsR OtP%;`5|ro%LFs>d`qVi9 delta 2721 zcmZWrZEO@p7=Gt=ukH2g?s~m`94#W(YpXz|w1A=n3T;WXv<0s}hz-lO-79CWcbC1r zLIrage+V&%m-$g3NK^s_L{y4U6QKk!K?RKw`4A&DKr}`Igy0XO!FP7==Gb(TnSJMZ z-mjT`XJ!v|j(6JHNgl9gOVZ{gwaGc7w#s~f*|`9RlNY?CEqSlTx~&x87_B5;>&Ga4 zLtBWKY@|U_Lw3_7sj;3a2e>$Pf<$siIh~U`SkWC*)L75@$dDZF=?p8)YH(QTX;xx` zS|my*a-Uv!79$Fi*j>aXvd#`xF*_D~MbSp03d+`CSc5F_Hd0oS)wf<&A^SG1%R9Kx zMF1?_9c}(KQd@_=VIByHNz_U~-H3s(Gig!+Vb?xt&-W%aSO9ENR8ukN?`VXBK8z#& z#5{;LsaK9EAYNirj!g=L%j2r5gtcZxlY^mp5UwHneqky0UldL+ z8%KW*dq;ezS5Z3y%ts7_>tvkXDRh@GvP^f}HV}@e3R1rz<*|Dz88svAo0%CJ{UF>x zja7D6;&Yr;Eqfw9;=OEzPMb}US!>JTR!)7TtyYTCxY_DiGM~7B;<%Ek+L( zf3VLl_xU5r3RVNw(nGY)*)(HKHh{Yjt;tnpVo5f;nKSb1B=(kMh|YC-=(cJ%J?YGU z@+en6Z&Lmtr3}Ryeivy#(da#Ay~m!D_C1kSN2fr(+C!f!T0Skr=_6^{!|3rzpo@#9 z(|>)H3&`HDacMR%c=vZ)f1gSJqe-MO)kmV|xE575+S1WSQ|cu{kzuST@-7DW)a9AY zHugLqZyvzX-l2!s#BH{wL+GoqU8bM7rs)RtKt`P0;50YbWHNYNrvJHo9)hQqvAQ7> ztulX}8X!HnLOS*`uDjNx+b`2si)YT4q9J)iQGv8aaa-=v)7{BUI#MS36jv*;ct``{ zm+6J#YR^@!wbbOeRi*{*TF*2*ZjBrpO!PA{?Q~arUgEURM9-4xc6Z4FBP%H)#WY#P zolHtqOf8_N_aQeeHBbNp^ zJIt}e96Q0WZ@F}rvkwy-EWod2xSq?tn;vcn$5wJ_GiTr8*iJ5;-8_$UJ)8>up&%1(&8EFHb=>n~*JZe$|dF<4B?BtIE^j&8l_Tsq>FE`<{J* z9o+RG>6c9~JS>NT{ZcR-jcbx|q#F#ohH_kW^rml6Fs>xum{u*4ML04S;TW^x=ZU!a?hUo zJO6X;J$GjB#hx=g@1G;RmGepOk{4jOayLny;W3gVZ}NV$N4ZLd$W49{eNXjw(oIMo zZ>9+{%6FihDkpG5WdYt;Ew z_1mlJJNz!{n)pL3K~j7>OSB&*4{G1L=hQy6sy@bL)YbTFXc?blUv4}s6)oAcieM>4 zOBy#+J*TM!{<3#3kH_QuvbT4Su1w07I;}{iambOW`n0U66OyVIN|t0yD`rkJ4q>)d z%In~0_^0tF2=E``yZA@G-TX&ilFNx5yvyH1Zu6J?ulk1-eL__Z^1uBZIC>)sxJSBz zW*G-t=1&LWks$WsCBE?~*#v)(a3yfOr5l-NbTBjWf;5^L905A_8Q&7zS~ffYL8)Mw zz-kmVI2qS1V3$Qr7L>AbQ33X|2nB*tPLn5rT@kS`&QuL!SH-Le({Q-kQg zH*6lRb5UqO)s?|gKC75OZ<2Z3U{hq91BP-!Pz3s$&7;naaD|eoAYCBy{7fj?CUV-= zmQ15WnE-kV1CY|UVHW>PmyJhIabZsUEXnbr*10y^&s zq>NHl9RGK&$evw5&${UTDeQ1c*0J?-cCh(5&B)3;7>0M_uHKi}>xAB^s(Pztcs==wm`4p1Npuo#^9g*XDP~rpApbS@`FAaHZB_V_c3$ e`A|F=UVEh?Y~A?(JJiX=J9G|j&MrQdIPf32evhmG delta 1686 zcmZvcZ)jUp6u{5TefihLrL!62PovePs{?20P&=3uI@3rXw8~nTQh2_kFX>y8m+jwjZUzk~9+i5CEX<&60 z*9(-hp-4Zw@5+%i_L}>h-l?*zm8WNm1xcNrQ02I$9G9o#a(PZKme?QegZ^t+EN!B= zi%Yo64tc`6fpDGMe7IBcXuH98-FOVsrHw2IH#rF4 zQ6pPc-U8t_z7Kjuy->=kQUQygTL)9NBfPWI-Yl5eyHwXvdf7#G9S=G5=oF||+O@q)j#ARJl@1WD+jsH&Q>vm@fc{Rt!dF5$ zx`*v|fqNByEb9?no0tRoor7CC=vAqVb)DZ1d3vB1InNVXSY5bWu#7T{YX>X~0DUIgKqLJ?D|fV$9qsduw$#zC z*K0kOiDT4J8x62yyLXaCy|R0rR6oLtvz|V{^6@!mBR|(`-BTU`mg*%`8X e!-w`+Lsr!BulT=H*0NY*_Bpl^o@YG9M*QZf@un&N7sMP6a-|V1;BxxSq{W;(X^JMoJ!IE0wqbFpI~w0P*^f%Kife zapW|eYgE2%>;ok#ZE7B%4S?n&Y$CenXOV(N_8&BW15LgZK${w|-O* z@m-mxvIs1durKsjE@AHhb6&%#K8#BUa(+1qYA>`p9kcEP=>m~Ruz8o%EHvyg(go7K zph!~PQRnkusf$T;Qoic0tvlRP!msvH#=7jpzT^o?hx}41MEepI@`84y*I1<5^D?dj zz?w`toGa!b>9LHX8)`2F#2^uQ(G|9TGW*^q*0CS?bUuE=XQ41r)yqwURxIQcNOg zaO8d=t?tO0kL|ulKxthc<03T_DWhD-aberNeskv>MMjUCq#71#PIL$b#Lrcp+(o8C zr9X+Z33cxr-LL^JIBt3oH2NJk9duvqSFbkAISL-{GqUDU+7wHA9i%NS^(AE=efJ*DG(q0v`t3(S^Y1D;~%=a9ExI6;HpHL}DC|W8f zej#YaNYMVS(sESVWkGv{Xm6^t*(xodfg9Q*3bdzG8g;v*Fiy~3Ct4k74pO*GC8i2u zzi1E_sRmqJ62--c@Pof_85#Xn#>@pQ^NCLHmek&w%E9vyUX92Dhu6GuK&9 z)HzUj!cow5)~of_t8hk8sE`v7B0}nVd6x(~>C)K%hI(r&x@db04;6bTd6uU$CN@F6 zb6v7l!)q^bHPk%OXSLVjh=WWj1Cou-%c!a8a~n1B#ILI9>8<9t^#t{E$E_!EMsP|5 zrv-RU#LkQ0f&iTo>OWX73A7dMMk1%cT4TzstOav<8qAOg)0VY9bKuHLfz z#v$3Q3@LXTa(C^eY3rt+I7sqerLjWYr&s=P+}g@DWIGbg;zHc(Rqy+t%C@g7cemF? zLY+qFLQRAj?#er}JuCOmnPB**_SiHV@2pW+4o_*3EKju&v71UufSQj)jQdD)0YW3e zYCi7leXD#d0E3pmq1JhFf^!5}$8QY(*=e`**{NQ)(pBxH%e#4f93&j!aC_qaz9Z1r zyHrP{-_p3%)c!P2csnAEtmBT*wI}4||EPov!WrHrfE4OWI?>1gS+XMf5!>Ga? zzfJQ32{g0;w13q_F9}274tFiyNnC0xNAIk9h*#urFGI%uM$!EzL)897!zNjp8bskj|05)@-}QeB{ZED!8uj0plMyMh+Pu2R+;pxdi^|ltN9(} zkkHHTC}R^mdcAsBaI~)xs$N06sb3SIr(bg-M+JVn|X6s}3`)tlt@5jWOlEAYNs=~o?O45%eMLtRW|0bQ~p&-*IYI(;Qp{@CqZa1 zji#E11is!(b~a989|nwwokKV+tJ{m-G0?e$8iT4xzAHRSe>Y+D)K0-1{QZ=zuZ)Wdx%pJEMoS(mQ zX3o{xMNYq6dl0L$?)%KT?~I94ej?fLoW1zP`Rz+SZ0UT)dhU$rMK#GeB#}Wseb>2N zdpEO!PJNU;n^{Ar*fDBS2(?1!-kXKKgG55)MMNL#>yV2dD}!k*wMkPRS9qYaeK@VSMcBb)@d( zaI4eNq2B8J@pOwB6c!ltNleWIRG>xY<#p4K)mzWYCs7&IvMHLdF*qt|JkcR*8MzLl zG|8C`~RPIXKy|d^}Z<04m)#f8z5ttUyT4LcqId+DC*{ zKY9o`AZT~Nh+WO#sGn}Go0e!K#>Z$TWlX$8opO#>qAt2b7mx_$AGqtBCCkC5lDLps zhVMGh3DrsUVSJ)V!Zpbwgyah(`N}nytEJ;wVIf z3uFUAVihA}lS9HBH^%aINAws$NB1f@zXi-o;yPtS5tJY@<=VepuG$p=l06BsIPW1Y zf|tx05H)y@PQ)9axHAV9BguO9-|XvEuIi-TaO__&lZc1NG zXVO@f6&mB;!IOj)hu)#IG4@1gKP6%lI}w^}<36hP-K7>UzgzMfD|`T&bLkjf)9$ba zb+?+~&5C+!1o`J*=pHo7r(bos>Zb>gxoVYqL{y_7#-@h#oDVr%B(mf!`WGynxxJuO zquX0@0_;#R+!{begpv_sH6z%$uowl}eh%w7={DM?d1*^NZoNvC?YEW2j%F3%2dI7| zb?IS=pmG}V19EE(sy&ajBRln=sf6~_P+3K@2@M8XyCO)cCcbHm)pzL`c^mtVX0!LY zbWZ>kD=)YA!pdwG6cL`x{wF>_^HU-=HZ!eAHHdB=5y>nqYEQwbcv#=+-5HsYs(H6{#LpJ3 z4h61`W_b~D?Dgotl-rcZUe0{!49y7D(;3s@&Fq)xzT~W4G11Z7S=s+2?O>st{sW#9 zezL_R+|J`y?_}FzQhqawd+uc4#q^8hO76epa-FdTkcwcpiqx+0nYS@M=}u4MO2=A3 z#wH6*A;$9H!fYNm=WSx^yC#hOtvYuY%V@PLLOTRL^g0?1YTTRW71MHbsr8cU{28m6 zjGCFqu5}%#Bqp-nvHkmoU@(X!-ObH`FE?XA+>)hoeTJ1hK1iTCz|&pq&ep_s8(#{8 zHei@G+!-(Sw~p3tc|n#E^%G7F?PI-K>y#;bQSc^8nOBK}oEY!b zN4+GHqK|4#xUFaB4rQs`(|@z=8HcimyAMLyzR^A15BZ^Pl`NMN2i&f9jY{{_uH@gY zU7_jhfke{qr$kFfRYQxsfs|ZNOut>%ku`+fmDFn(`2XW=;#wM24BU87F?bEIqyK>C zni<=l6m~n|`_tIxNrP`kou9_~_9%nFkN42I*XeT6V0fMW^=z@IrET8kKyS zoN_z86?d@MUUMDI7U^I-PAy$wbJ1?P6mgnsdZK(Ci#pD(ZVq+z@xSQJ_6i&nKo(lDB!Wc?Q}=U~><&XHn$lfp)eAQj;Bm2;|9( z*?LDhE)C$tLIgh|+_q0@0VAF>;87MD#BWsgH^6&y&b~wM0JT?X#J=-$HDle!YdI@K z5?sflRXb;SY+3?NF&DYjFlwg9re+Jv>J#c{qIty~ZtwEM?hxvzLQyRcj|#QeaT84& z>37^j(>QTO4-3T=P1nQ~&HBXEc}uKz>7Kpmo-DHa`*v}h>o0skp8DyW#{tKH^QV&J znGT|oq!ZIAF!5<35xy5Lvk>7B5lB4|J`sc*B0T9Ob`gmsYvGknaFgTwMsTbG2cN<5 zieBZ#pQ-WFlUaJQg%;o+xP$KRTGN6Q%CPfj3KqSf`mYEN%0Sd*WwY}lQ84#^vn}pT zXPkVb_8&6cBr(r@$3YKg>GADb#PjBBGp0|UUibEo-_^YhW@4&4B7ZC&se8NENsNpK zId|NKO>UM?_Ik7K-P)h!>JA4LXm1HPNM^N|ylv5DHZA?JCQM{UOHBP;xW8VlJ4qty zr?<*@n7fKdwOBQ-UD2wn{JhqB6<1f4mG5bJJwwlmkk^X{odK{38w23c4zE$ZTTHK! z0aUAV6S)!G6L_qjNHfr-y>V6?xDJw*I${whjtFi~xVB5m#Hz%7A6WS1}qqsZE0iTCo-tG7CcQ!UA${22>0`UdJz*t)^yf`Dki8WHlpd}5pIhCL`P%Tm$PD`fxG`A&* zXR=kR9hbE7^wp}5U#;~LD#j&cR8#vbCAU!fdW2HJ!dn`!QPi&Mx zeT_n0b6VTVUW?MD0SBBT7^UD4#Hq#trf#h+;KnIhIvhaosxHYF>U6oVCXWX}L>2j$HwiV`l?Bwu9bX2x-j% zlfo&^!-#DCaYaDg^j7D7aUE1Q{gSs{v!<68O;|u19e41#fa^K*-CQ=9Q?H7Z4!x&e}FV^e5H}2v>$9 zvHxR8EP<0Z-;2ADQ85wH##b>n94;5~>PF3~j$}&tDb`8geHEHV&@qDeTndF{UP^_f zE~y!Akfc@*k=&{gzrpHro%NC+*57rtE+>)3c+eJ1%ZQiA^W_jgcCwUyX<0QEY1bf} z)VW-hTJ=&mh&GQZ$1hEmW{Y&3RAECJB|x>4PwpO6!=CEbeF)-1t>#KK@d{L8!(u<4 zZm2atgNu-ai>b4=p%UVfx%x$rtfAIcjVT2;BFXNL!c|$X6Hxs=>V2)#Sa$?&dKC#L zq(r9Zm8N>6QzHR0cE?%U&`ryW17Ql=m@>JONK)k|c-iHYXxgmB4J8Ng+XIgwIgcDS zk$u#*#4t%0-%#ZB4|n&wX+vAiH52WhQvz3ir%001gf*?Y!ej7z-CNGLlTiDzrQkQ6 z#y8I!o#Xsb2oLp7kZahp{onO%Ca0d?Ej6n=S{g{tHZ?W@|xM z7m!$YSF`geW*IOOd|L<1QBF=~Z3AX0{znf?9eAHiv(-BWreg4O?-d%&h~KVk*hPJ! zJr0}riZ-}Ta%5euvEE{=3(Kxy-3Eot4YFIL+FxAuZficX2e?9?;PDo@`YNiqWio2! znl~|sJ{EEB(E*>eD0N5Ijgsp_*AUm5kE>f--tp}C+f~d*U-k~Lfi?ynHx*mhra=Xr z04w#`iHUZ<U%oZ-Y~5EYQSgpwW0Ia(82SP!RvIzqtbO0D@=tur~+C(gKY$PhhpjLhqe>bjH*H*J>|??y9k{p9l9Cu_ulO z$#qBVSx_I346R0rIs@5KH_GUogQUAuHFaE{#xlz6bh0^Vz2Mk~(z*tao~w{mAGX}W z_NOJ92qbU_NLDb&HQvnM7(+@(f~ zv~H%QZgygT^Emr{NQC?r>yX}CZeat{ljULT-t@upCf1N1C0}Iw()-C1*xB^14&xS- zb~8GQT}|9ZdxxXzUM71E20V_wz(go1=||Dpwhk-L^9B%K+vXp*-U&keV4|$K7P#h7 ziggX5*k^%jR#B{DC}M{q2zn=QHLWKeBJTQ8W;h{m%_!Ly&N~{g>X(4WnPaFmsub2B zTQOjioGs|)I6EhQKD2KnrLFw9_E`MAb8Sc6n_a=fx)0l-q;FxzhE)uL!9jLY;B(Uw z0|qpc_m7*#qD^2h;ri^Wmd`~D8FsnC4#S%*Cw7gkIZ!;@D9h;w7G+E~$|oH{w8G4dWtG&6ze|foIGM<_BP+2gV1mX zB|5jU-Pz-1ltT7sIfxCmc9UnYyRGp`zaX~EI#I4Z@V50|vb=^J95YTnz?8AY@)UO8 z*xVs9p4iuqp+^n44;@B}tv$*g+FisW^?C#9)W6VqsJk}mz+gR02E5097@H)oU=iaU zhMe8whC%b^WXccvp9n>ft^rIAbDt z$N4W-mJ_Qyw}q|G=@Ny~AkJp9B<o<-xt0x{w7{+MVn5`J#?^7YSH9&rXD1#BMOIpN zIb|N9e6?(1{d2p>MXbx@QvWY;x2SFFZ2#D~fUTcAQ}Hn}=j6Z0KeFehB*@3uM^okv zIEq9At{vx_*jtV`Uqtjc-=W{~lJoZ}Eu7>&jT$rHn)6;Zf9hyChdnd3U)PsG=li7X zft0IHVK3EX^v6zv!mdocqhpcAQ61zw!tR(hRW4%>O?$v`1rkM0MCYj87u3*|ls<(v zXuFaIsbQ)b_Ep1VHB3~)cr}bs!w5ADRl^`P4B(-|m1I@{qZ&$Tc%APIcO|u{;Z-$k zRl`ea=v2cCYIsf!Ppjc6HGEqQo7M0jg%0HGMHSemhI`d;ry4$@hHKSuwHnr_;c_)x zs)lwotWd*JH7r)c0yUh6a6Y+qwhGKt!)a=mtA;shI93g}sNp6aVvI58;*cF!!4W^| zsU+Na=||TGf*-gb_g;(f<6#`(@erUUeo@|d zPrbulSY@~6mzR_km6lZ4mfEW9d6o7mNe`Fn;KhZN_LBU(QrnV}GQn6}URm-$d70fC zD=5iZP+sPZEY2$}DX=XnUtDO*D=V;7Eh(|*JBo#bk}^RpDXXZq3#c8Sl3U2IK}}^*Y55XluC#hl85%m}bYk_Q`Gu8}itYlr%2rwEuvb@>Re`6nvM}Fn zE8}Eac@a0WN=-DfJg>4~baiPd5(xgHywa*d+mhnKGTVG2+DfWyW#x8T5txLc_G#>u z)i)<8s&;^1Bp6i<6UywlrFqK=E8U7T!zwt8lIOV?T~b(DU|m#UU*=}y(u>L~ZG{{z zA`Yr4x8oN%C>o6vW#wfzC5pE$t$;fU3*x6unQo20JFhB!bXLw(tK=c@IHwQ`US2w| z^PVOp_O3w|iH=q3@d83R-sK0oXHE}?wai{v8E-Exj4v)MSx{_`FE8S;1$m1K5c4=kMb zn9Q1IoZ2|QTi0@z>nR#Ajp`JyO!4bvoZv4-AexTDem~2cA3eR&<+>9wa9DoV$tYpS zAfYly6~My;9#2>ej^#IDn}DqahI=3X5#L@Mt1H=a^ZUq^>@3bz%qM>c&YAgfIM3zh zmHBbqkS>8zWpy&IQATz&&HYP&5w|fKY&GGyR>^MUM`aww<(FVxfzZvWEaSYydJacs zmCN-dWl|Gm_`6ID8|O!`oC34rv_ox_PX;(Xpvzdti*}c*2vK(mWxiYDa=<_T2YM6e zmTH%4tuFm)clyJ?_x=a^Ia(J9T6}8(@ko3f$5PO@A#@v<{g6RvIG#mXVgS>MC+22=zxfHok$0{X2K#Dh))ytoHkuEpL8D3^_!WAsMFjjee1xrI9 ztz4VcQY(eTcn|U~(P%96`#%>;{6v^(=NltTO%)mWklIb!;wz@JHE71m_yqb_Dx2 zveyx;XY6wXOE$9`2<~oVvBj~AJXO}_VP6jT z3h2e&bfthZQ2Hhu!=dh0tvnvI!#K8pz7e6PNz@v!77*xe6X!wmd7OF;hlGlC8T`|{ z`ITI^K59NmkGp6auScFT(M_l3b2sP~Z~AhPpG08uKwkp-GYGxyG3=C&iuMJZGPV{B zZA~s09^QEv7YRY}fcAp!`-IE2&zqi&jO`{lqM6c8>;~}M$~mOt66oK99*s~K^wjJyP1lM=4?-6{ngLPUMtDN1zQV<;9 z!6qVj1?d*1DNQ@r(+g)P7oKD{7G^3h?q-?yg)1j^vl;g#nA&!`TruqV`Ek6@y|kM> zeP65+vxmKP-!N0f9+%5NG(WoWkkQlju$0na%F;b-Vd-e4c@KM`G*gLxiv3VJQd#~K zOIw6G{S=$As7M*~G<$u~MCHQoS*Nmrrue-sS1^}EHye@^x|fxe^;XP#*|xGYrD8Ap z7_k@kvKwV(it!JutbB%YVjp{}e6(_5AL~>B&OfqY6)8&bOKc&6<$97$zCW7nzdu!JevSR({*g+?Vb-HEK`B1W##i=M9y!bwSEj@s zKJ0Q~xs7h0L6dQR&BFTHAVfEyFisw3M=GZ%O|P@?s%^t^bE$m9Z_9L9qPMJ@ys-Vi zHUZn~h0UBHOFJjC$?2gmAlh{Vc-QaJ-A-EDk4*pK%zc$x=?QnGGd03Uz}Gd z9i}VH5snxuF_M&|W5&wDywcM0eCcgtReoMs5!$ZrUUDo@+yqT-z4yjWxt(|PaJok#+km?gCS7b>sIF@29$T%+x_&?>1D?=TJ zFwoF`)GsO0Ke1SY5iNc(T`W=`GrtsZoE6Exvqm2qXOYIyjYa*5^w)6L5a~CKvPfsN zQ8su4Jq8=_1ifOsC0z<>XTY>I9Mq6ET&N3}-mOs1dRY?Rh1o10=&|95?Infs)}I#{=X*)}c1m5vWa-Nnn*^ z_(FaYl`~W*hM?-oLZIh48o|+V3(Cql_$3EpGzHvLq$n(q4FBMycyE$O2HIDgmKc~d zzr51U_SA+sf~J?1*q2F$f652o4MQ*txPr|4NgbRB1a+#ta?*X0;jls!HvQ$?&=!6zV0z8+zDUSvh({X?dPqGQ8Q2l3iXspIm>W9VKm$WH>6&#z*_eVLc7U zcr18KY5DxTQZcU{RbE|Ymt>#os0${;i>S`Hv969b@{5zJqiD-q=S6u~U6Jo0o?&4Y ziKba{Q%GfXnaz#@k>t!jhgu{WnaE8QsP3Uf)n)lWH^Na$gA`guRY1<9x}r1~LrXD@ zrPU2URE$c4Sqj4fNlDQ%Dji8qe*w~P2Zgk-%7ukhg?54W-vB&;qmJR;O z@@10T>tT?nX~<0~X$BW4$vsxzOc{rAl;rq%z!P~2DJp?7~GAw)xdXlG5!%BsR3*^aT#%7p$cws#6;-O|lQ~k~_4q`<{+r z{a39Yf)BPxifBILCQiEp_1i%SRcJae$*{Fa$0QlH?Pn)fb$2`nC;Hkd?3I%7)DK96 zNIpu;_z6ic`r78_RTWCczY)poYbz?vTOb)fC0YPt)F_RoDHeoexKWVl#xn$jB58F| zRmlUA@hrt7d~Nnc6-B(PjGvLX7)cpDE+xk*8PEL!+YDsMRvdnkzpbQvzGVE@dc*>Z zlsiMC+!ei0NA_l2s1M~QlwWqhWx5p1ug$m~kS29@N8ksQi+doE6PTl}gUqjd2}Obg zPYfwIR}|;yVghv}QM;Hx$>w|=MvcvyA~o=9$MlI4CQiD0qO?)EW#^TNx~l8E2)JeE zMTA>*UWDJO^CCPT(Bah$=AhDxUQ9B4E+2)9l zwH>c+jfiTuHoB5`%@^fn*j7Ic)GcpDWaRZ8J&uC;KuEJWFH55Jt7A4dTKJ4qMPVAb^54L z)~Qo*HE!aJtekP#w!0?Huu5{rFbl0jULn`q0OGHJ{dN@$dn zG4S4$!m8?0yJYGV1F5Qppl3*f^{(7$vk>Mwab7`=t^*R zPBwKpi_n)Z;7X+o8bRTo;@ud~XZ(kC_+L$cgdfM;4^o#^rm=~EiA!^jf(bLu6OhSHnldx^j0 zy01fimp<(wWWV8-eL^SuBfaeZYW-RMGks2kR)yrIE*Mq`o8Qpn0+-~!JmZ7WtjFm8 zawQz2Re3*s$b=THErKQWLu<0~!>)kQ<`lvKE=QPmJmk3Xs;`3b!a{iBVWA6>`~(N|+=u~2S$ z*e$Y7Gn&_wN2!fzPIuUCdWpJ+CGs-*K#dT0+AZ#PI&rJK#o2A%&tl|-^zj>7-$Wh2 zGPuZKsdsXRT&Yj5vqq9<)2DTW0W;ka=6Xwz3-khR_3Wrvl5^<$J+xdaH|=!`n%L?P zZHPNt?JneLdV#vfQ*tJKBS=(hr(2FiXV7SU`kNkk$ph#ML_$Juf7E~Bl{<7IhU!J= zo}H9`Pz(Rj5eUdJHAANfFQ#<$LIk^jcK&gm63L!WB$t@*PCne@KQryq}WPkcZ zQxW&-Rkx6iIw3)tkS_MZyvpqIB^axk6Oas^m*lQZT`+>2UV$+#4dgi1Bz+r)o>Zz+ z*z;>v`Dqic4u%66|I=W`UYifr$1CSIvexzSffqJfq|mi!o^qneaA_lpdo*6Tx{+l) z8lha@$nJeKO2LZ-OCB9SZ)iUIXkU8U;`F0^lnBO58~P}zj1An78lTN9QW&2=;O;lE z+-|+UIuCtJN)`&(WWZ~g4{k_}p%*>eOe2@sF=kF(i#B00EM@G24N*!BW8ZB^p_jX& z8U`wOk!E7Uo%Ay8qYWeIW!euKx+sG-v2Ppt#?rfXZc!5p7mO<_lH{RfT-(@9Y{168 z%Ir{grZ=X)@GMHnTsmIA!K$b`n9sW_Fp)2yeDXk=!9x zELX^rIy9rK&W>brHgyTA9BGk?spy(6;x-hW$5wCZ9#jC3-;|nSupABWl}$aAYgz1z zO|z6OS!~$m48@eimTn%VL|E91o3j-Yc3y2BsvNqL4SsCQh(jYR=#ofgLokwK$}7oV zm=bre0XMvc*TQS?jG?=kklPV4{(*(hwTmpMCS#AbB{8 zZnUPnFx(>fa^bTunHR!0=!G|!h=kb>q^)mMrEOBB1wq=O#`|*i53@)LM1o^knrLVFgK?1VScnQLp>z3T^Cq#W+Wf4j4?O`ny=jlo=onw2IsY8GC6 z!YEu0FOr7sYTBUa!ED2}-a#MSVUe1-{8z)^s&(w$ZEAUbU=R*7gY(C2jVbZqe2zpk z-5IVq^;JVJu3B~KYibmhu)~j2X`Fq$-@?iPNXS(fyJ+QBXP|3$MR-_^qC$~|dV^Y9 zMHU`0=(4a*H4GJvnAaObIfQl_&hBrTol>1@k$&ZNR**Vg_zxPwz3tSZWalqU!yTz9 z7Rd?*42~i+3p*He?a8c0RSSLf7W(Ne^mkjxD^7qxR2;N3va6$NaD=Ehfrd%CniFKu z)tq28T9Dw^-y%(N*PI>(UCrsKMrS8%?9YtbM=3k{vT@rJ|hv)Wx*N>g|C)~=xnK0+ct*`+^yC?#T19&YZ~v4a&jd6rBMe{qiiq1!al zGh5E!)vh#QNFp2aWVuqF$PPXks~D2l=_lh9M-uz#$xLNfcQ$l)S9uz{d-wRDw-PLp zo!fXfw!lVDW6$p{4H^RwBM;Qirv%t<&tN4YffelOiDZxLNuDEhgE72~rC}`4n`?hv zEy~`!6230#pi%0{Z&bOo=$?b6a(PR)cne?kk(+9fHW`ahC1vP-x2Rop@4Hy=Q@xbS zaV+DhOl52wTmDppIRUpsqm*L8h+_a>Wuis3{%lQ694#{WX^Xq7{aDHVUJj$Fw7hIV zJTyv*SzLPnqlx3{I+KAGW3a3fuY9}-`7!dfBIOiaBSLFM$|pDI+9=kFl)n+lY!qun z%BMsNK#bOkl+zRoGCJIgMamgMLXlQ17Aa>b9%1w>7Ac>Ryco%3G$HgEJq{~I%DIlX z?ywD~=W&>^XhkbV%Dd2XMv?SY9i%FRLg-diw)nX>G2|K=t#8TOq`Gq^*>{q^j$urEu^R0Y);^ zWVT=x_5a5Dg^zCiq7^o&8iH0Bkblnt#x2(`eBA37Q(#XgtY6UEMMiD?g1>5HLh5CP+Y;N4!a*_~-io}hJBci)Lv@N2}@EE1IlKSQx&R0%Nx32|_hSU(Uz zffQPRs#RGszuI1CQ)y3qGFDskcEN}+4HikHaBkF7LcTGa8>Pm~;as;G3kWHZY=l8=XcszG9toxFv#_kv-xmq2d%Jr=%%AzOq3Nf@HW zjA7XKSWIjCTd3_S4YP$GwmL*6=0)T{)G&y80D{QQZK|D8U0jYYyv(*fvIR%S}JJ?c@Z-(V!YCq76n-TD&Jv8tf2QT$q2K zR}Gd+sa;GOjSZ%}TGU{k7rq@jgh-xG)If;0Ae5Uva+@+=H6@JK zNzR5DK^Ur~nus2SMA0&mgKzPaY3K!J}!)KAJyH!z*3PhuH%SVztfk-9b3RHM8P3Tj-sK(48c=ksNv+@X%LQ7F5BXuQRO7QTf1bcrU5DTVq60bJUBA#A7 ztZIS&Bvno1bWk%XckpmeHFuG70rnvfSxy#UF{075H+BjhP37jHvznS;QdL!6iR#{! zvi|KTZC)E)P?%p*z)hG&cL%u(i8uy&cZ70N^lXovQ_vxlFB(&bTVI|X_a`}scz1)h z8|RJTO(AOmr1%qs1`>gs5|-x%;V$e*;UkbQ@tyxQ<;?%-&VG1c%%2wz>ButvXYhg9 zPygLWZ>0sUGQtRdlfg`p?Gy?TcqH|0Wos8pWO8d ztT!1_YgpjEIJ|e(e_vOnDu+$n*G+xGP|jm*LF1bbp%B>Q4tppu@$ zTK6Rfg#t|E4%vko7j}##|FM7UmlG_~9UL^E$iv>H%ST8JJQZ<_RsS(V**Jk6_+uZu zIPt|FEkRDW>RHZzjq|hq&vgT7@^e!x$ew&ZbYzHZF#G!t^B-=KLnJA%qhv5sWL!u(8d=aFcl6H449r-9Rlt8- z$eoc2CT^WmBqo0phRPYjp8qhUF9``XiBw=Bmar7*&PXoRzh`8y+}Xzx@z_Yn3TFZD z$1&d%%N$18AH13k9g~qf2HHFQFKu&+@h2-fhd?T1@<<5s)rle^U!f_omr4CKnzQA4?Yg{+a$%0Ss-6!1b8Vo>X zd0YtTG*d(L^=J~l_EQ0rg#i4!N#jEL!!ZGBP919Qygla0b6^j!qYOQH9T(zuKdGg{ z^vY^yj{zu6PlWQVcbMj{cL-c4`FV(0dveeEow~<8!IBy?!sR6P z@F$7v(^H)oW?PPwV$8$vGbywl+$AG3qzI)Yd; zwTltjMdo7j1LpTY!v7@%@`xMtg6{HA-HG`H*IxwHLg-CV$Q`lR{23R!Si4XvCSCh1GT+IsUL%we8E4YTr-aV4`d3R1;=`5;qe3SG zos4i)^%C>O(?a_`B8sFwB_oPQEJ$5Y-OymJCU`7P?Np9PU7*n`Z$+P#n#p0V)gjdS zELdv(W9s6=oS^g*`Awz3g%OU#+Y{SO^7A2Qck%QA}(nfv2EC%X$V-0+}J?V+9K z3FZcKDi{x$zb1wQ51kt=D;49}hkyT237UCe=jSgg8~=f?V9q=c`;ULf-SyMI1@wSg z9hUKFBE7`KTwnbziBrVfhUQRWCL`X*k+4lj%(o6KyO1RxFn;r$th{Yzt=|rkGgy){ z-$Kt}I0(n7)(B_>#tB66u!UASJ*v({OXPr?d+O?O)cKjU1I$fNi z3|1Ptg|c~9jO>AnekR(#*OAp-jFYX{f*ZzOzc>)8FJFvQ&Y4-+AXl0;jcJU^Rw5GBQQU_n2`I%uYnfFX&;>;piOb;x@_*6Wb3fLzrf z*MKa?P0S<5ANet2wC6$ahJy5n4jJYE)Wgr4X(EugGRR@)T>0XSBJc1g5eB?$_?1f7)jDq`!2RCh*c2o9L z%WbTG6V#Hw4e~&icQLX*l^k+|cr1*extsonJ<^gD2XX_RY+kz8Ta*2%svrTd_fXDZ zf$xw|{9p*M#D;ERK9?!(OT`};3axZMG04TZ>P(e@UUF}VbNqsI*EO3cf#gdS5Gc2j zBauLiI;0PfARUqpBtnN|14-2(xj?dYNS*`GG#yk0q*RBj2C`I#Yy?uHL!Jb(NryZS zq*;d?1Jb5LE*P^{!WULP93uLwq846^c4jB!kREOl5 zu!a>6*rTixv2-1>7BPzs*@ak+4tW)^nL6YH#0qrCSBQ10hLGm8n+u|zlKz! z;|j=^RWhmrel8&0@a)l3(>wV94)#WR0*UDCjSK}cMu*Va#alY07|1Y;)jX1y(guVk z9aINok1hw>fb7*Fe*m&iha3jdAA?DrOP-Ct0&(b&?}5CiA|k7D2h@X9%ojY#BGG=I z)*&N+436^Vp-o61>yTwYa-zL+_Arn(9r7fQ9hfP3a{o>T)PvMmZ|Ey9RmXcPy9T7P zn>SBqbS&}Ry%FkaKF}fAK-MRD^UMWuwud)@Zy8FC=3d^=WZ=I8}VS(#go?#=-*AL-be(H2!{^pPE1&$^CU|JvPFkv0-1jWBIdkq2hU3}h}!1i59R5}<~kIS(p z>SGhxxXay@MA5A-M{~x1w5K)%J^8)$d&E8W))MO5b-&-if=zeud+Qop?!Lp@;GIB@ z>5%@tR z#-};xen~|RSxC_X=A$HU`qBN87IVb?@&LbIo@+~F@t2JOtC3LLGY=>%^>Qe`X>NxA zantOf-89FF(zQc@C|&xKB7s!8%4ocCa5*-k9+E6b=&9-3fuIiap&fPSlJpV~x}Q@Q zBanB1R1D)qe-4+3 zmmgdm>GLU2e9at#(%#?U67RLB)!SwhBjsi{qL~l&x&JQe{VT~Esj-u@gJ5K{8`0R$ zXR+`9eJ!Iah^eEz*@qLm4w(&PUbe=g2{<{D#s4@m;(ibSxQ?%AT7K>2K;?L&iFf?SHt{+#*#q7db3sEMY4*Y zvQ6^<>}2xgIOUN5ru@`HQ54qurvxQqESvb#Lgkli_8MYXuKWC_1i6{XKX>=f$30$% zzMG0tl!+haDp42(_-rN1$GSa_%Z)#e^w|w`zX!$Tjh|zEUI2Phpc%iIyPo9s(cH%E z4Y$QnXj#1vgFk+z<`v{bdKXC0EDh0;wT@*we@XD)f?J31QwX)obKtF*<+co$0oOWDt=3I>ZX(yc^L>t(Ze{s7$^@ zM-jy?Uk`JnqrIcK!1k09`YW@EX(Q1~=#asK+VP~d<4JADLxW7coWAXN5*_WBlG`yw zwd0}J({-ZLg4*%Kx8pIl#CY1l)hM+OJA<2i4X zSoE)f(E;r!r?u4V*Xz;pNf!BQcT9jr;Cz_n;rs$ygY(nu8JwHg`#5i8mvLUp!ftfO zYW~n0-C50zV7B{42-|q0vs}QQ0&?j_XLj~R=X)n=(%ofFlOMhP!)`_fzm2M+=SjJl zC#?s&&(+-#bu&JgzL2I*Yi!5!VmqFn(V%px2JdUfbG9AN-pz4x@aCm*u#)!L<^gi| z%}sJ}BNmoJdhEP8_25TtM$%Rr8vSIsTWDHkJHe|Pe>KPnjh`Ci5P5WCi$U(*Bds0N z(smMK4UI9foFFTWcgk{irB!JxKvX%WG_IxagwnW=!q=3>lL#BNl)ju_DXC8-cd4nkB$-jiW03PdVsTyKPVQUUttgvL`wd8}dy zYm7C?BLg4ebgfVEZJZn|hxu#<7+TQyunCFUsHcu*uIn8_4!845C-y1o3cctj${4z& zCy{uj%1L%e(rZ9s5K>H$Y_|NurFhlMlJDIko&-;^4*3em{u(jhK`Ql)-nZv_r}{T| z0vx#4!U8THcH>6YtW%!^ZGW&k;;OH~LYra-s~1{GBn77}AV z`XA4r*A6E7t^xT&oA;O9{`07xOd)uX=Ers;!AfXP5WcaE!zUB3c zS&nn8!{r`#CW&ts5bY)**#8J*uiK+k!K=X6Jm0%I{h4@lay|lbQiq%e@?wqFP)OI6 zae(HzMH6Ji)W=@q&D0ghF`b}ZKz8ac zvq0#l`mbmSzL`)cwdoZ93q0p_`TmvUAQeQZMH3o=iMWm@5eT&%kFFu~cakN^;#Cl% ziAk4%T;kCcRuPaI9nWGQ^K>TG5aL#ETU59xzhaqmTF0|F1chaR$sUV#Az7%-#+QNU ztJokL2ZVl}-t{veeSuI4 zk*XEQ(i(5c*ZE&abtj|NQ&3$YwR!SJ?q3WB{5Uvq+u?`Lg%wv!y>7=+aH^K>C&fLwRiIHFAlvIln*1Fl7O7655>YapJbBnL!~ zoO&SI%t@qb1hUjE8J`HuD|O(rB>UZlk)W5rbk)s7$Wb6zM^-aP$Qd995z<{wi2f%K zih0y4;k3cjJ5>Y_Z89TL^$Z`2QHf63U@)Br)sxpOAQyDVBp|K2+|LSc{5}v>Dj$?m zw>(=_$pU<7Qra@#?fFHbbewJk7D_9S$}`9!q#lSi@`P&q9tT1{PX<2#a$aY}Hx59l zI_NS_7UY%853hCTyYUzxl4SAX=>>!w;88XNh&IC&23dJ3ZytM>G(5sVGGY)+4lvQS zezo_{qc3Pcz0SmST^h54;kzfndtO(|UIMbyof<-=cY(ws^mIO-0?F0!Tmn*B^$e+LQ(UjAV~=;!g+9w6G{f^fzGAnD-o zxaV~s5jw-(20{#;p8Rh>v_&Z)=c{{(2|o{08xVcx?uUme+RRiWivU7DkBNhTOw(m> zOl0F#%AgIDL2fgsZ=&x4)y&uGG07VEM6i+m*rzX^lk7f z2cWe&reA;*=#+)xiO_O4VpBhZbW&$xZ}3pxX+R(h8Vcl;I~8DQERY&qwVR92#Yx)g ziAYusCcS?ffNX(iPZ|6kh*Mp46seklwCa?72!uT3slR7|=$qqrQPM=|5+r!6ZUa;C zd~fF~c-EDp6CDrak{d}uETym*6EPp+~V82H{tHLdj+n0Ygj-xy^AbB-3!iYQf$I?-24UJVo4D7uV{M` z;M=zRo4mK+(tm^ZRtz`4$!@bd=sO9zJ<;w@*lORp#r_j~qu28hULlyaX#X!h!h5?! zj$3|)7at!G33S`1+gYZ5g;%h8wx7HCZuv0=J$H)Nw;OKzX^519!uiz;s5{_W>0Ws> zT&^|I`$5=%pM?#^C=zW;_03zAZ8vRmw%vMnw3h_h(NCLm#4d2jrgMShDJuv6a)HfV z4wCzG7ubL=Z1Z|KfW}9<*AHy%UYxMCd%r_$J5t{|DX1gN&jdwEM7!9S zyK7XUWmaCZYd0}pm?WB3R92d1RNgv?75y@=-K_KbuD$npZ2fureEy&RZ`YhP^IdD! ztXZ>W_RQWJ_kM1;c1~ZvZsJ?@$4i871mUluAhZizm^Tx{gh_%RtUy`=tOuwOsT@f# zD|yK3QDR6$<;$pmJLa=Z7vc?OCfE%8HC={5Kbr|bo1%LfOgT(w-xM7x)#ox#uh%D_ z7U`YD*R$Tqq#X)`sYq^@SuiyxRTR&$&VeOez^FpVj6MM z-4q?jGew{7HUlu2A$WjV`4lm-YavS1$O^tnj7)}Ia%m+Hw~Lw_n4BUbPtk9=Dz}Qi zCx)b*z6($lpfN;|+%B_V%pI7LEF){E**3_LwP$#QF2vX9gKRsX?x1G{K2jIq)u}4~ zO5jU$!M=6i$X1b=mjy2Ao)L}Xd76Hrc(9Py=~F}3779Z34Yusv*1T9fDhsXpSZcy{ ze<8o1H;F?Fc{f9T_n*ee954jiGpT%zAxvx?$14pX;w$6$(}r-deJy{}(62Iz)Lqrv zgaLxkm|1QXYW1-;T`Fpg?F(eKDMzSjw&vD_@6O2)c9=;3?beMjl3XFxnaiq1nrww#winu&l%)#h#7AUZsUbJ!Mcg8=j~=Zp(p4ZCI@B z1ESYA9_m9qtG=4KF)uceJVEu~395x+B5|S5*qB~!7OLAB@;(qvpf+sXprg7a^LTyr zRi7|aA}`tlp331rctlh_g?`$e{=;tHXpI-tcIdI~2x_-Eb>e-4oK(D+TwgJ<(bTw6BUjE=zmv5YUI3 z>sCLi;i>eqsopHuKWQ98oMvkVTF9Y>iyaNWNe-|EP>pe<4URM`+G^jb`Ow-G6{xQL zLu5?;s2O5Mk4tV$_nI~HI6B&D5X!l~XKba?0LjZuwl$LJXwsWh{&=_C&r`?i>*0b{ z!|UMD)oN&R=Ju+&`kBWebEjY1f1`cd1^T&2KYyd2b9VbcyHdk;41khF*ud4c-Th_9 z7E`we^%ex%llVEs^LzFc?;gV+=ovUB6*CleSHK`!U*tO`*I7J$-w-mrmW2SHLAakH zQ$~3M$s{{C|H3>+emQYE?&2TyTrU>g#f$s{$Ba}svfg3Hliq8$=zh8rL8Tvgcle;>(@ z^@_6$tTqca@uuDWT?+0V=PlRHV+#C)1qgBFhbqa$|LQmJ{ayUmz|Rt}rY|Fr)N0;8 zsBly{BrlyhKl57kVw+cEF-o}SRjXV? z6$bvfyDv5_tmZ92{l(&H{!>uINVO`ITA*~{tx8X!lA`hhQhCm$@*FD2DwmyuEqqGw zLZhR#v(y^3^ImYS?{cX8oQzu0^SohsHIEDlN+;WgTCT42Q5(EUx~dMXW@o$K%fhc5~FIBa$U&eG1>5RB^B%*x}lLqpb#C zaw>)DX0`(vp<`HMyUbV?R~OKRoUGiTIZM&}JZb*u{6 zgDzQipR7V2ne$*e;0BF~qu@A)10pS?>*Zg#CBisnfvmuYJE2}RG`+Mt9{TNU3I*=H{F$SQA9 z-7(y4h#g^cXG;!298Cd9)WJH0(2%Z@gCZe@_qxy`yLu+|%ttGTtuAz^@pEufl zIB$#ENAXb;9dABILi;#SrlR`QK>dJLKVlS?k(~c(-Vxm= z_zw2%%i{fGddGlU)BGRCqb!S;#{`!EGDkz@AM9hl4DWVNt(lyAheOI1+;}ez{iHzJNDtP!?-0j%YSsV<6dAnZ!yx{ zBR!gLi5=nB6AZW~P(}68{7UR7zXMT(E;Ffjn)OjUFRtKE9bwAgd*T9z$&QHq!Rd&p z6nS@a#Fe3r81h{k%8$iF@`!lfq&tkrQ?l^Y^N6}m_2;}{Wi_83pGeNCjSmf#ot5`J zwGI*L=~wWa;-{nWF?aI#<#hh<_@qDW;^uTdy3c@MxseC1+U@5pKGcMtvx)jXQQ3De zJ|NvSxzbxL7jGh9S}pCKYlvJ9lZh>A4gaA}O#Yw6-0mTCd-Ct%``8go8bsW&cF~Yo zZN{O%-hSTVNk%OX=Ti~}iFx6CeZs)R!QnKdzE3v$zR_H3xz>@RO8pk5Mh3-zT(4_5 z|7Sw<=tLM)kA2!O%T?=g%q|MKIX}y;l)K-0g(lKfWg=ap;Qt2@c)c#K<{}C2L{ag3 zVc)2NJ2+)>n#(Cce?Ix+(|A+gzM)XoF-2bAjLIF}(^sO7?Pxdgn|*sT6OZZ_>;Wlg zv_la)? zQe@!HgUFCWz={O~o~v5Tji!J*Dc?4bXPZ**#GNpZZ!nd?;NMIdmt-Y}(1JKEdC;9| zW+d_Flanj|%;;~i_oZ2G^>COj2lWzV#>hea@t4k^?%MI6g8FIbQnm}eYZqYf;08Wv zP{N%o95sMHIcVTmGeuo2+Q6)04~D~Gavb)MTSXjRRpaoUuVrthllU*~WRkJJ#ilYd z6eczeJqGutZOM?qNq1^@b|POjcvj_Jv(OZUpN??YJbwpel`@?+T}62dPb+7*Q$jws z)2?3Khu?Vv)qsP9y7%{SOtw#z8B;88{x^O>{l-@N5%gO=P>iN3C*@&t?X>4Z%(>H^ zMul5<+IbF;rtA3lLP#D}UOvS0Q_A&#qu~K(nvY z=4{&~wPU?UJ9;(~RgjOuthSAJ+4K-3mBR?l_ggo^1umPKO}sJHzj6ldg0{g<^$zWw zcsS?Kei?ZTqTFNBt{!mS1?*TXg0REh(E>LkjCRPUsIw^0F^OoafkuF?Rs(rj&cT1k zR@y#=8Y~1}wmo<-gJ$e)Xn+X{|tBHW=gM*-Cg0p)Rxqtt4k_GQ%uvOvjE z^Gc4+Yf6reeM+v~6yeCy@j(IIZRH=N^{PCZAp4?y4LtQLOmR5i5b#E7fIQPh36dKm zbQVJLIguDYC@vGK!8k|^YMvM$D-0iEYa&d^U^OJIvV7NvyQU8;AD{0bir?M)e~%*n_@M%-=k3qoy43r4W^gsnMF5H{use#dP3W9@p|C~raN+tO;`r_B+poL@1&({(So zwta`Nmmkg<0IVZtdH4oA+^tS$zH8rx2{c8`ptU}+wRbn$mhr0GsgOILJ5y}R;pro$ ziFcjd$4A`HaNDxy4Kg7xrvHowqUzO{2ixipE7nLnZJu9mZs=!LIDmY!r^unw4CU#Fvakq-tSc-P9=$OziK+L9Hl zy2XF`tm9KACSR|<>fcyp;u$03v#gP{fYcth=Aii~bZ9MV)auBV+7Wu&090*Mo2ixC zbBK)av^DW(M)rkcTStcbP&+NqRTr?*#5+gE;(d}}%jCfY(V^T4X#CUdwpP%?Za6ODWfGIEhywi8B zw*lR=oTUKm!RJl7$Wpm^^46~J7%_8GVr@_GuP2XY7=|hN%#$yh63ybdG$l&>-IpJj zGL|jg=XuYMj6K3{OdZ9ldG54@EQY@_t#HT(K2ST79>nyjvmC;dtv)V4(mX)84ng%J zR*zQ885)vW2v`o01yA!q_r|fi`P6&YL(kXuW}xMW=_8phpFcel$d2jH_&ovZt=(!n zZ6oODi~z>Q&IX)LkYXH!Gga;bUg?WkdLbvwriZDw8jhir_8~nS2>qcumo_ zU86jdnp63**$ce(VmwF>UIKqJdmHP{ADgqVFo3}0wpAe2H*~c+YqCv5es#Jx{AcZD z`vq%$b-HLhXzM_(RS1Oj9eZq-MYvn)8i(#9&U-9f@j!MbbTLro9Teh{JtpdhT==g{2A(bb$xDyeR zeBIWcZ!gYgVf?$|0pX8=FTc^V`cki6guN8ZSdeWWF+R9taJMvv#4;nIZE49wmd#sB zR#YBG14>Vn)zNWdP^mr6GnZZ^+T-*p6;ygte#K~yyP?u+D(zJ1Rh8OQdRe9ID!nMv zN_*Tn6*#NXHkF=HX^TpmReDIJdsVtirQ1~6pwi7Mtyk$fm0DF=PP7s|D^-DoDlJy& zY?aPX=~R_YQfZ+|$EdVGrFkkft29%k=_*Z8sR?utxwc9LR>~9`hne5KxEI@1<)Wph zey$nggxA2h_C+t8#QIfLn}yer&LRC9DF_R53ep&)QlxsMMx?!KdD4A>o_psiOByP_ z&Ymc(+Y}S9uf426jQGBwtNH(nWH+kk+o@dzSZSYxrmQt>zvN55aHt!;$!%CI7C%?;7Mo zJQ^VWnVgM3glsdk;f5&)Io&;L#N2L%>2Le!F(>KPaS`e08h+&AkieVBz6{Z5P^aij z{@&UMp18tO+`NWAyD~xyujWTU22}G)AXlsTA0U_4@`y(w#GlvlY>){xd=>~+tyLhl z8vg7f@#4hw`~*tX>-jezPp#)3t0Kf}>v=rL=sKPca-fdS2T9w&9|fu3z;}X#ZR96F zc5LL|fcXD~dsIet5t&@R67vH4=&OT7EKvEsFt`K)z=45nA?c0XAY1tn>U zeT5%c*G~+3g>xO<}!%==>LsG<Cz}FxE0=@SvpPQd;x{f9RyNcbygy6kQc?BokJ2Y2Z- zn}uy=^FF^VKeJ6H4_`JrM+ie&j?JaMFbDYe?1`=Zm5))+)QeUEQFsa4MXZOoZ2o3p zRIHqpe-!@aI0rvvs9ETVJ(=TD_-B$F{I-0vfTwNFi?)}duoO?V75ymg>$`9`#I0-Zey1%o?B8e zZa&ptD(Jpo#}GLFN;?o=R#5`9T}Fdsbku^fB{KLWJI2R<)=RJZ3YpT+g1YLymc?Sb z@#g13D!WfETV#D$(80xUkIoNjKSU3_gf6Wh3U{KlV%+_L?vO|vCsa6RDcU@&1@mEy zpgW=k61x+v@>V)LK2h0uEeqHJClB@( zg=+r&!5Gn}n)@A!G|*>40n+$s%-@R@w99>ot>zOCO$o$P#$eg0ma<}jjqB1Z;3MR8 ze)Lc;V~=#RunBz{e>4VL*n4$V6KU9w*OvU+_tZFktTX^&RV+u`XL4~6THr^B!umqOn6SUAH+*T=H5RwSB*Z{#j4!LlEUuMY%v zO0RTQb=Nz3#a(*EU8mI|`RCZN@JiV~@2OS%L*ZqCy{~^uPsRs@%4b_^H$pQr2aUP%3l1%*_Ex@t~{;xlXa+FX;6!viWi^JD=vo@sfB0Ny2emH{@-u) zGnV1#+AQlofJ0^IBA$3$jgI$pio-l1IqkTV)SO@z_K=E(;eigP9?r!S=#&7#e4@JDRD*+*0P)q0(?p0-r-=|hwOAbUa;#Yx2Y)FM z60g%lNFTL0BW6$>pMPS6I2;c$PsFfA{Jj$b^MrSX7SQLn zL5mla6)l}Nr?dp?_f&Qn?lXHvzcUi`$FKB)G?nS`0!0$~iyVhw4S9{uFjkEny#PY%B$O7!W4KJu-o zuwqe}bxaAiGEW@~FbiME+N)7F0ehB3WmsUJQWxWXefiRN`-+D?gD zl&-X)Xw|7(l0q-XhI^yuzE?l(VW4+>zN@hyGH-*R8hfSZ_p){ z^SsXo(w~I*Nzt=dAm8|TSG>BDK99uj{?Eh3A;b75pGO<|48tGp@UfSIjgyzs_#XZl zz6b%>jX<7#$y@Xo#_zh+U%Z*YmtRUSp389T%o?%82dv77j=+9R01z(tryKz8yS(d*p%k%wTM1ytyiwR=NP(GkNsLu-G z#w#ii5j#kiFcH1evjS{x=mhg`B&l03)|WroUdk5m-`_RyL0`Tm9`M@t&o8Hk`fZzw zsE7{}1aIH2*yGJL<4>}NJn_dGX^w#<=jc2$yoY&@>Nz}E#Cm5;5{3sWP@mvYJ^fe@ z4|C9#T&xLx?i@F~$CD4RUaTh{XpfYx=-J?Zyv-`a{m2FC_L&xjFycZvlu5FdET?HYTSjn@Vsu(X zIJjL&(%~Vji*%_sEATD`uA{{INXfA**q7umiU8s8Ac-1e8jy4ivH%DkYPcz)7dMkM2)(MQ(jfGwjr8u<)%*dm5>{)V zPa$+ogIor3Q-k~j#1qM-h#?!MLAnEp(jcKg5;aJg4vTra1{w*W8yaLL5Nb&!C_IR) zj|O=hr63Km1Ep9E(u9&t4O<<$qg>LxQLKCAN$@t&aw#~b##tc8G|1OLw&9@blDP?_ z36btX@cKdcR)Zt}nU8hNC6fi@GYxWgC7?{)M_fX)fD}VL{+E*=ECI4mgH!=2)gYUI zyx&dHLpAX-14txJP^4KwjsuybBJeY=PxJ_aHjU5^5X#5QbXB7p(8n5ND3A)HyUbW1 zS5-t&T?FJQ+;m+XdkDzz9`4Aq1_VJ{Pj{#ZLIK!3yP7`@qzAUIE=Au0X~t^pLIey> z8CGc*5)32>TOJoO7|06T23*JlAeFOmyLUnN0V<4gM{0mfh;~P|1DW329eEQ7DhaSl zb@jU>6Xz~-5y%S~!0fOZnOSAZgAe~5J5t-8=ZU)oko-!aNAQUP}Y}Not(I9^% zq^}e;kVRDPMt(OAjjn+@24qSU-o+wc@vzk__C--xvy6_5l3erUp9!%??;bbXEEOOn0AW4dZM~vH-t@6vK(9Z zM+ihyffP0rZhhV<<^i$F!w}nhw?ikj@*a@#aqh?$K$%ixbO_IkaVm1@Wo$l2;>` zw)NJkY3rpv!=ZYG^aWH)>BE_y)G?g(WRoO2a4}aW#hNjlQgl)Q(LkM4O4LIq)q}Dh zq$d zP3GR)WHN7)8GD-yOP3zbVKM2cDYpqH+$LL)03P$wNrW}#yJ1m!ez zD3=w8okj`o%X2;Mk>#YZBUps71o`LXI+!I)FVJm1NIWC2YoU^F2J7PgyvrzM5~W?z zNqgai7}{McV?hR0K$XMK@CB~*UXn47`B%1$cV8H`LGFeI*#~5Am9k9`g(CGG@@$RF z+mLC;9TH8-UB?R(g3ydN>#~^&)C&+@R8o+5AO)IgsX%tC zUV%aLD@tfA>NN)CL8e@zc_xt8HApFtbK|koR@QZDb~&IzjnLyjJT=Y#4Tx1E(*nd1 z=Zeu6fY60|uG)<&KuVppib|K1Ex2!SdDVE~KDXxW5W0v3pN36Q)DySL8LnzYB^4EA zON5h}zNSHDxyHnCK(xa#4@ip?o{!^oIkI%w?T$v)5rXh_A&o!)xD5k+Rw@WlZZaPM z!8+%L{3y#Pj~W#78IC>)8a)9SfTA=|e;{-re$-xP-G?m^96^?$X7P zET%FDN4PPX@k|1;TcdCo5V~B>F9qUQYZT*G0NJZ)bG=#%%2l5|1w=dM2P;(}m+H3( z(Tw!xK(=XAcaS2D7k&jYRU_kvb7z94%e{e6#JC1A)fZEXo=GS!FT%6ic}q%5%^KAf zRI_PRPXc0gsxG3(WSA&>HMJJp*4RTp=oyLHRuR5EDJnwyxLm!jfshL+n*UJ6BD~yP zr%}BXGAEsiNO~6#$2?Ys<0z1Jjm-N%D9&Bc^%W4bZ+2_`CqPY_#(o2$9S%SE(CF+v zH6INmN>i&pkOF7(MT<)o&ntgeSg4UPlOB3*<+5lDAb*XGbAYsKR_#h4g&IZcfozt# z-i3+RfGk}OXTUW;7HX{B52UHeeNxeP?l+v)QvLHl3PH)4ibKBv@;XYc+sAbvHjN>M zUVefw+u2x=bxG-xhe|3;EfG9Sq7 zDtBZ85L(V$MlJ$Emn*^_29gNGCG$9t>$X%SxR;5#khsqs?$-8gZ7sH$@X^*@1J*7)~lAjPQe@}{8&JnnQIlna4Cs0o*z zzCdO>^%SWeh)o^uetR5Q389NlAyPCM2%h=4`QUyaO+e`0K%Kxm0HVE9Yz7jm@)env zfn3#SJ^;j|L0WsH!CR>2>e)vSdR~Kk38ZR*yVV^%r1fJl?7x6B$*Hht>7oT?`1qs1 z*+ZPTWnV9MB2X;&;yIXWw?Rla5XZJlF@69Lx?J9z4WwLS#qvr(%^KC!ay6q{wFV%F ze76|eBg?oiBL{(y16+-r0&>&YF*4*+xt6<(hd+Fm2^LwbSnY=}JL9ZYG-vLT3M>4p zF)`9#Y99yRr9gHYs<}Kr639AdZEAD|kSI{s`mhK{x<+OdkkTsm39^N1X*{(LNU=ud zcpRWMjiUE~EYu*^{H2|RFtr=L1^~m&KXE|la(OI`5Ol}2I$D6FE1>G0LLj>|&bSvy z8{A0R6&EfbJ-A$YR*nLsT~r?j(x5T5L9OO8s0m1>M&@*Yw0%6f^EEhnr>V4nl;X{3 zy2h}dA@h``c2_*Bbxc6T)My~(Rqmc23PjL&z5s}J$}Ok_6r>R%WQ?YqP#JQc}r6oJ#OzrS#<_)@%RHiA-dX z&hPWEv^qZED{_6~Cp|k6$NcXmv0OfId!PM}+{3C2UP;9zbC)fkG2ibqiv@Y?Hx;x0 hVp3BH+q!?&e0GLOLl&~n_eU*aiMsvwma-}0{{ZQN_`CoB diff --git a/build/test/preprocess/files/test_duellist_spielesammlung_projekt.c b/build/test/preprocess/files/test_duellist_spielesammlung_projekt.c index 74c99eb..c7841c4 100644 --- a/build/test/preprocess/files/test_duellist_spielesammlung_projekt.c +++ b/build/test/preprocess/files/test_duellist_spielesammlung_projekt.c @@ -16,7 +16,7 @@ void tearDown(void) {} -void test_coinflip_player_x_starts(void) { +void test_coinflip_x_starts(void) { @@ -44,7 +44,7 @@ void test_coinflip_player_x_starts(void) { -void test_coinflip_player_o_starts(void) { +void test_coinflip_o_starts(void) { @@ -166,7 +166,7 @@ void test_diagonal_win(void) { -void test_valid_move_and_switch_player(void) { +void test_valid_move_and_switch(void) { @@ -272,7 +272,7 @@ void test_valid_input(void) { -void test_invalid_input_type1(void) { +void test_invalid_input_negative_row(void) { @@ -304,7 +304,7 @@ void test_invalid_input_type1(void) { -void test_invalid_input_type2(void) { +void test_invalid_input_overflow_column(void) { @@ -336,7 +336,7 @@ void test_invalid_input_type2(void) { -void test_getNumberOfMoves_returns_correct_number_of_moves(void) { +void test_NumberOfMoves_returns_correct_number_of_moves(void) { @@ -352,7 +352,7 @@ void test_getNumberOfMoves_returns_correct_number_of_moves(void) { - int moves = getNumberOfMoves(&game); + int moves = NumberOfMoves(&game); @@ -420,7 +420,7 @@ void test_BoardFull_returns_true_when_board_is_full(void) { } -void test_getCurrentPlayer_returns_correct_player(void) { +void test_CurrentPlayer_returns_correct_player(void) { @@ -436,7 +436,7 @@ void test_getCurrentPlayer_returns_correct_player(void) { - Player currentPlayer = getCurrentPlayer(&game); + Player currentPlayer = CurrentPlayer(&game); diff --git a/build/test/results/test_duellist_spielesammlung_projekt.pass b/build/test/results/test_duellist_spielesammlung_projekt.pass new file mode 100644 index 0000000..1ad831c --- /dev/null +++ b/build/test/results/test_duellist_spielesammlung_projekt.pass @@ -0,0 +1,78 @@ +--- +:source: + :path: src/test + :file: test_duellist_spielesammlung_projekt.c +:successes: +- :test: test_coinflip_x_starts + :line: 11 + :message: '' + :unity_test_time: 0 +- :test: test_coinflip_o_starts + :line: 23 + :message: '' + :unity_test_time: 0 +- :test: test_vertical_win + :line: 35 + :message: '' + :unity_test_time: 0 +- :test: test_horizontal_win + :line: 49 + :message: '' + :unity_test_time: 0 +- :test: test_diagonal_win + :line: 62 + :message: '' + :unity_test_time: 0 +- :test: test_valid_move_and_switch + :line: 76 + :message: '' + :unity_test_time: 0 +- :test: test_invalid_input + :line: 92 + :message: '' + :unity_test_time: 0 +- :test: test_valid_input + :line: 106 + :message: '' + :unity_test_time: 0 +- :test: test_invalid_input_negative_row + :line: 121 + :message: '' + :unity_test_time: 0 +- :test: test_invalid_input_overflow_column + :line: 135 + :message: '' + :unity_test_time: 0 +- :test: test_NumberOfMoves_returns_correct_number_of_moves + :line: 149 + :message: '' + :unity_test_time: 0 +- :test: test_BoardFull_returns_false_when_board_is_not_full + :line: 163 + :message: '' + :unity_test_time: 0 +- :test: test_BoardFull_returns_true_when_board_is_full + :line: 176 + :message: '' + :unity_test_time: 0 +- :test: test_CurrentPlayer_returns_correct_player + :line: 189 + :message: '' + :unity_test_time: 0 +- :test: test_FieldEmpty_returns_true_for_empty_field + :line: 202 + :message: '' + :unity_test_time: 0 +- :test: test_FieldEmpty_returns_false_for_nonempty_field + :line: 215 + :message: '' + :unity_test_time: 0 +:failures: [] +:ignores: [] +:counts: + :total: 16 + :passed: 16 + :failed: 0 + :ignored: 0 +:stdout: [] +:time: 0.04396939999423921 diff --git a/build/test/runners/test_duellist_spielesammlung_projekt_runner.c b/build/test/runners/test_duellist_spielesammlung_projekt_runner.c index f4e3d01..61464f8 100644 --- a/build/test/runners/test_duellist_spielesammlung_projekt_runner.c +++ b/build/test/runners/test_duellist_spielesammlung_projekt_runner.c @@ -10,20 +10,20 @@ char* GlobalOrderError; /*=======External Functions This Runner Calls=====*/ extern void setUp(void); extern void tearDown(void); -extern void test_coinflip_player_x_starts(void); -extern void test_coinflip_player_o_starts(void); +extern void test_coinflip_x_starts(void); +extern void test_coinflip_o_starts(void); extern void test_vertical_win(void); extern void test_horizontal_win(void); extern void test_diagonal_win(void); -extern void test_valid_move_and_switch_player(void); +extern void test_valid_move_and_switch(void); extern void test_invalid_input(void); extern void test_valid_input(void); -extern void test_invalid_input_type1(void); -extern void test_invalid_input_type2(void); -extern void test_getNumberOfMoves_returns_correct_number_of_moves(void); +extern void test_invalid_input_negative_row(void); +extern void test_invalid_input_overflow_column(void); +extern void test_NumberOfMoves_returns_correct_number_of_moves(void); extern void test_BoardFull_returns_false_when_board_is_not_full(void); extern void test_BoardFull_returns_true_when_board_is_full(void); -extern void test_getCurrentPlayer_returns_correct_player(void); +extern void test_CurrentPlayer_returns_correct_player(void); extern void test_FieldEmpty_returns_true_for_empty_field(void); extern void test_FieldEmpty_returns_false_for_nonempty_field(void); @@ -90,20 +90,20 @@ static void run_test(UnityTestFunction func, const char* name, UNITY_LINE_TYPE l int main(void) { UnityBegin("test_duellist_spielesammlung_projekt.c"); - run_test(test_coinflip_player_x_starts, "test_coinflip_player_x_starts", 11); - run_test(test_coinflip_player_o_starts, "test_coinflip_player_o_starts", 23); + run_test(test_coinflip_x_starts, "test_coinflip_x_starts", 11); + run_test(test_coinflip_o_starts, "test_coinflip_o_starts", 23); run_test(test_vertical_win, "test_vertical_win", 35); run_test(test_horizontal_win, "test_horizontal_win", 49); run_test(test_diagonal_win, "test_diagonal_win", 62); - run_test(test_valid_move_and_switch_player, "test_valid_move_and_switch_player", 76); + run_test(test_valid_move_and_switch, "test_valid_move_and_switch", 76); run_test(test_invalid_input, "test_invalid_input", 92); run_test(test_valid_input, "test_valid_input", 106); - run_test(test_invalid_input_type1, "test_invalid_input_type1", 121); - run_test(test_invalid_input_type2, "test_invalid_input_type2", 135); - run_test(test_getNumberOfMoves_returns_correct_number_of_moves, "test_getNumberOfMoves_returns_correct_number_of_moves", 149); + run_test(test_invalid_input_negative_row, "test_invalid_input_negative_row", 121); + run_test(test_invalid_input_overflow_column, "test_invalid_input_overflow_column", 135); + run_test(test_NumberOfMoves_returns_correct_number_of_moves, "test_NumberOfMoves_returns_correct_number_of_moves", 149); run_test(test_BoardFull_returns_false_when_board_is_not_full, "test_BoardFull_returns_false_when_board_is_not_full", 163); run_test(test_BoardFull_returns_true_when_board_is_full, "test_BoardFull_returns_true_when_board_is_full", 176); - run_test(test_getCurrentPlayer_returns_correct_player, "test_getCurrentPlayer_returns_correct_player", 189); + run_test(test_CurrentPlayer_returns_correct_player, "test_CurrentPlayer_returns_correct_player", 189); run_test(test_FieldEmpty_returns_true_for_empty_field, "test_FieldEmpty_returns_true_for_empty_field", 202); run_test(test_FieldEmpty_returns_false_for_nonempty_field, "test_FieldEmpty_returns_false_for_nonempty_field", 215); diff --git a/src/main/duellist-spielesammlung-projekt.c b/src/main/duellist-spielesammlung-projekt.c index dbe397a..cc6f212 100644 --- a/src/main/duellist-spielesammlung-projekt.c +++ b/src/main/duellist-spielesammlung-projekt.c @@ -138,10 +138,9 @@ GameResult checkGameResult(const TicTacToeGame* game) { return draw ? GAME_DRAW : SUCCESS; } - -int berechneMinen(int hoehe, int breite) { - int anzahl_minen; - if (hoehe <= 1 || breite <= 1) { +int calculate_mines(int height, int width) { + int num_mines; + if (height <= 1 || width <= 1) { return 0; } else { @@ -180,17 +179,6 @@ void distribute_mines(char** mines, int height, int width, int num_mines) { } } - // Diagonalen Sieg prüfen - if ((game->board[0][0] == game->board[1][1] && game->board[1][1] == game->board[2][2] && game->board[0][0] != EMPTY) || - (game->board[0][2] == game->board[1][1] && game->board[1][1] == game->board[2][0] && game->board[0][2] != EMPTY)) { - return GAME_WIN; - } - - - - - - int minesweeper() { int height, width, row, column; printf("Enter the height of the game field:\n"); diff --git a/src/main/duellist-spielesammlung-projekt.h b/src/main/duellist-spielesammlung-projekt.h index 2f63a3e..53b7127 100644 --- a/src/main/duellist-spielesammlung-projekt.h +++ b/src/main/duellist-spielesammlung-projekt.h @@ -38,18 +38,4 @@ int FieldEmpty(const TicTacToeGame* game, int row, int col); int decideGameType(); Player playRockPaperScissors(); -#endif // DUEELIST_SPIELESAMMLUNG_PROJEKT_ - - - - - - - - - - - - - - +#endif // DUEELIST_SPIELESAMMLUNG_PROJEKT_H \ No newline at end of file