From adca79ac6ca0f51448215cc5dc1e4a236f67452b Mon Sep 17 00:00:00 2001 From: Lennart Goetze Date: Wed, 7 Feb 2024 16:24:27 +0100 Subject: [PATCH] Unittest: loescheBuchstabe Buchstabe existiert --- build/test/cache/defines_dependency.yml | 2 + build/test/cache/test_WortSpiel.c | 41 +++++++++ build/test/dependencies/WortSpiel.d | 1 + build/test/dependencies/test_WortSpiel.d | 4 + .../test/dependencies/test_WortSpiel_runner.d | 4 + build/test/out/c/WortSpiel.o | Bin 0 -> 3762 bytes build/test/out/c/test_WortSpiel.o | Bin 0 -> 3505 bytes build/test/out/c/test_WortSpiel_runner.o | Bin 0 -> 6699 bytes build/test/out/test_WortSpiel.out | Bin 0 -> 112946 bytes build/test/preprocess/files/test_WortSpiel.c | 41 +++++++++ .../test/preprocess/includes/test_WortSpiel.c | 3 + .../test/results/test_SchereSteinPapier.pass | 2 +- build/test/results/test_WortSpiel.fail | 18 ++++ build/test/results/test_ageinseconds.pass | 2 +- build/test/results/test_minirechner.pass | 2 +- build/test/results/test_zahlenraten.pass | 2 +- build/test/runners/test_WortSpiel_runner.c | 81 ++++++++++++++++++ src/WortSpiel.c | 2 +- src/WortSpiel.h | 1 + test/test_WortSpiel.c | 8 +- 20 files changed, 206 insertions(+), 8 deletions(-) create mode 100644 build/test/cache/test_WortSpiel.c create mode 100644 build/test/dependencies/WortSpiel.d create mode 100644 build/test/dependencies/test_WortSpiel.d create mode 100644 build/test/dependencies/test_WortSpiel_runner.d create mode 100644 build/test/out/c/WortSpiel.o create mode 100644 build/test/out/c/test_WortSpiel.o create mode 100644 build/test/out/c/test_WortSpiel_runner.o create mode 100644 build/test/out/test_WortSpiel.out create mode 100644 build/test/preprocess/files/test_WortSpiel.c create mode 100644 build/test/preprocess/includes/test_WortSpiel.c create mode 100644 build/test/results/test_WortSpiel.fail create mode 100644 build/test/runners/test_WortSpiel_runner.c diff --git a/build/test/cache/defines_dependency.yml b/build/test/cache/defines_dependency.yml index a81d8fc..d7ae090 100644 --- a/build/test/cache/defines_dependency.yml +++ b/build/test/cache/defines_dependency.yml @@ -7,3 +7,5 @@ src/zahlenraten.c: - TEST src/SchereSteinPapier.c: - TEST +src/WortSpiel.c: +- TEST diff --git a/build/test/cache/test_WortSpiel.c b/build/test/cache/test_WortSpiel.c new file mode 100644 index 0000000..5d8393c --- /dev/null +++ b/build/test/cache/test_WortSpiel.c @@ -0,0 +1,41 @@ +#include "src/WortSpiel.h" +#include "C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h" + + + + + + + + +void setUp(void) + +{ + +} + + + +void tearDown(void) + +{ + +} + + + +void testLoescheBuchstaben_Buchstabeexistiert(void) { + + + + char wort1[] = "Beispiel"; + + loescheBuchstaben(wort1, 'i'); + + UnityAssertEqualString((const char*)(("Bebspel")), (const char*)((wort1)), ( + + ((void *)0) + + ), (UNITY_UINT)(19)); + +} diff --git a/build/test/dependencies/WortSpiel.d b/build/test/dependencies/WortSpiel.d new file mode 100644 index 0000000..08b6a08 --- /dev/null +++ b/build/test/dependencies/WortSpiel.d @@ -0,0 +1 @@ +build/test/out/c/WortSpiel.o: src/WortSpiel.c src/WortSpiel.h diff --git a/build/test/dependencies/test_WortSpiel.d b/build/test/dependencies/test_WortSpiel.d new file mode 100644 index 0000000..2db99e5 --- /dev/null +++ b/build/test/dependencies/test_WortSpiel.d @@ -0,0 +1,4 @@ +build/test/out/c/test_WortSpiel.o: test/test_WortSpiel.c \ + C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \ + C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h \ + src/WortSpiel.h diff --git a/build/test/dependencies/test_WortSpiel_runner.d b/build/test/dependencies/test_WortSpiel_runner.d new file mode 100644 index 0000000..b41d36c --- /dev/null +++ b/build/test/dependencies/test_WortSpiel_runner.d @@ -0,0 +1,4 @@ +build/test/out/c/test_WortSpiel_runner.o: \ + build/test/runners/test_WortSpiel_runner.c \ + C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \ + C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h diff --git a/build/test/out/c/WortSpiel.o b/build/test/out/c/WortSpiel.o new file mode 100644 index 0000000000000000000000000000000000000000..e89394a5f8eb193b3b12eb1b4b1230214a82d787 GIT binary patch literal 3762 zcmcgvO>7%Q6n?YoiJjPqlRA_}P_lux{3x+g>ZWZ_3I`4WAuezPfdm&&4+RS0y_wz3ZWFGIvTwe5 z?|W}%XJ?*YDks~3+CUs&lRyzjJNm36uoM~t*slPbYnEfAf(BzxrYl9K7~ri1b1-%x zU9#=9Y(d>~#G4HV+<=6N8e{?Fpg)(cujU;`UQ3JQHen}tR+#r3>R(wEZ!DL|N}UQ48QOgQhr#)!+qHmUSAb?S=@{^Isn*k zi!fep-*{pE$HIwU`wR1rw9hY{%5Nx~&bJrlFaAuV`TW(-^VbM{p1)4rFZZ9$UoVuG z1c@yr7hz|9gR>=|Jd;pP=dYa^WAo$JeB!0#B0Hs=$X{p3+?~IA{3GP})}<=|XA37j z>py(iT}{1khSPN3Itpj<7Yg&2P@4*AIi0cq=~GF{1+>Y<{HMuJmSlvBKesL~FRw%^ z1c)CZ23$q`@a40C#$qauJr+?JZnVH(OHAySNnoSC6VFou`w^q0>4vEtn6VrJgBon6 z3q<;gZfbK4t#*0QE?0GvhWi@js_hg@2qjtDTt+s4@HdO)Dtb+854$cnume8!ptjj| z51jAgaeT~dK)-ov1o0^oYI77n6@!x>J`l}9klQj zi%=+0yGnZ#rbW0gMkHI}XowQA%SCe%nw3SI@Hc!^5*(T+i$&@d`b@$fjI2rA1J~MO zJ626MLCvk3M9W>C1>#o2oH&LHvFnCj1GbKnr}srqBBsX9HPAyL9;8|bs|)WuOWzq- zXAA9wy72b1&`RhI=sUbKU4j-}#i_buHWY+bbd zW=xw~M1q8Pai$HhzuTw9wLfR@(E*l3E@(AI-9WH3u5 zgWh*`1-;vOV0!ZIKt(7V^wMt8hJd&V0+FD5x>kD|l^nTyv1g3^)z(TKk?}#$t&Sjm z2A>!3QCPQ<M>%(RM}{YU=Nk|5 z)VI9jW4_VhH{Zu^LyFRiDGr$r^5#>#^$X61_)X|>^2gW{_!sNviP#gI9aNfdO(idP z!0_Oqaa*@+ArFmMje1=->(7rvCIpkFJTBCgA>0-^$O&e^hoS{7P zI9-8s8N*~m7$GzN878wj47pAl=G3u)YzFhm#6Y$WVV_WKyEkK)K4A`ueh{n#l=Rwv_l0(wFq%tg4_(b3}lu3c!KzX}BblRlu14MTS-6y{83L?q-#@Bt1 zNb>&nbsX0&d8oqEix*t{u1iGco__3A@w+5-?LLq8L0XB2_YOxxC~pyHuaEMG$d|!5 zO3VPr+k^8;osNj!G!C!(x=X%}G9IO~IC%3iv0gdH7PLrokB_oG+U27?J{tB>!AFlF zl54pYQ8zwu(0tu~Uq>F2m!33gI*zFQvkWlBf=5y6N!DD*FrI?%v{s{hKqp0TLbW$J zsEo3WTX4DV!MdALgt|uLV9l-m7bj3}Q!S@5OoKPHV69E>E;;m7R$4kxXOl%`&WbUB zUUD&&uDE7gy891Bfb*)0=|riFD(uzmO;<(UD(go{yAW>gyF;pMRQ4{))pK2RIpPen za1G>|;7b=Iuvgi4o;uXiy`t8NkIEhr_(t)Qt7sFPDoWb%mFCtMt^!XBxaCMdBdZtB zhd5Vpkgn*Z#?*v?DcZxuQpwVf`Xj4|zy7v2tQn^6VVu>2q@ECC@ijNi&CPkHNvk-m O!|Hk@T>kuD>-ZPrZdus? literal 0 HcmV?d00001 diff --git a/build/test/out/c/test_WortSpiel.o b/build/test/out/c/test_WortSpiel.o new file mode 100644 index 0000000000000000000000000000000000000000..228eb2cab2ffb2173fdddfd769bb2688bede3c23 GIT binary patch literal 3505 zcmbtWPi$0082{$|+1>WFP^cmWwXXyL4f}RWODQ0*-O_X$1S+sr3|RNiboa^j?fTwZ zXo&|C2(br}8sm*bJ$dxv0X-NL!$B{4@Z!OE!5HJo7&(}T-#4@Gbze)PiC;3`eBW<= z^UXK&X68-##s(nS*9ovgSQ=P9U+{%3RRgQz3c#I&^i`}(n10PF7yN>R*3}u9zGD?V zZ(TyG;Vt4VL<2sFZJ*${?UI3X#%e@)JCX1$@_uaP*MYv^xlvvZ;(x4(H=Rihw~qku z3UV}@RL<(9tqg@z+w?9*Pf z#%>FL>C4x8N&&JaRD0D`GdO}m@EAJs)HJy^25 z=rwo^Eh#T406H+DL45L5-W(r1U=9vh`>eE?ocEg!KT_cickL3o1-Dc^vM@T592qu~ z6?lp|Z6VbX8YB?LVx?-q1@$~4ED^8Oor)<`)A8(z!^@`a_}HSavNGqgLl$smim>Qq}VdMecyA#cmT*C|Xd^NO$_&^Iurao(((l1>5s&92?li zn7r!%&QW(1c55?!d*ceO^&qfKo#ZL+RG^C@??9)UCYFGh&kOGH`V|L^_RS?j#60fj z8{w`C4R#CIPB4t4hKgHD(P0XAy1GkL+D0%25(Ma5KusJPP!1ah4f10a9P1;5Au7;xHR|Z<$jxBQ82f8OH&yg$ zv7phfokaUOmL)9TVNqDWvQhgUE%r012ZVJXTh$qK$gvUXJ8|rUzW=D+d0p2N1BqUp zDLZ-1_VMl5b8qb9HyV;MeNv>Ey!5aH?h(Q!cux3ZM52}v(2K9ijPyzj=R73-dvgi^RY1vBsq($?St#}Sv7`;Pes~NUZ z6yh3i1obvyjfK_(TGWF<9yLWW;8$EJi6wC}OKUQ;$lok@K`u7SB^zRsq4gqKa$K6x(^w3#b`m=tV!4o43$aFsS#vi2N~HY#5TGIs-pZMy7I`B| z4#P1Nocn4Cu2k9qf+GktB7Jj-w7*0tgvyGfv8+h@D-@R#IV){})&2sd-jC$8y*_ET zsEk%AD(x>%dZ(y(!Q*`!Az5v&PFh)2J}e>}a^7npG=G)Ro0IlbR6cCE)S@zaZ?2V( zTM%WTvNUR1g{XYqa`BOm91nFgXKD_ji`~!Y?YLHcXhGdrtL(&D0wVWYD1AkhEu*GY zh|2Gwi+e-ZS~wmd+tIViyx6SZ#Wq(D>_V~V^2?#;7Mu$A0vE4R9@w7m1}4F?!WZ9V g=hdrMgQhvRFweye`=8zq|0kh;&0_6)XPsx$KPXBbj{pDw literal 0 HcmV?d00001 diff --git a/build/test/out/c/test_WortSpiel_runner.o b/build/test/out/c/test_WortSpiel_runner.o new file mode 100644 index 0000000000000000000000000000000000000000..2cac7544aa2b0ef3f2d7fdf4685cfdb49ddd5f40 GIT binary patch literal 6699 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 Kbr*8gZ~H$@6M+=~ literal 0 HcmV?d00001 diff --git a/build/test/out/test_WortSpiel.out b/build/test/out/test_WortSpiel.out new file mode 100644 index 0000000000000000000000000000000000000000..9783395983b776d022b1d28418b945e526c66b0e GIT binary patch literal 112946 zcmeFa3w&HvwLiYk%$z)$rZat#Qre!DwxslxmKIWIXx4-XNd!NTl64ZO| z@BV)O|DW^8nZ5T~Yp=c5+G{`0J|`vD91w0Hga`Mzb3zO!4&dG|#Qcc}eVi#rqk!TrDK{l`O3<|x zVUiGEt93!ItspfRtnwl*nV10~6-3e@%e~`dlz$%;;;XtNeLxeBJCY-!9~B~V1W<_n zZJJ0?B94LcQV0eqB<(1M$IUW?mtcLwh3aXYRYA##?jlmM!KaTqu8+lkw8_Sa$+m}w1AHE zI6w*e$|1T)BbVzVaEGG1$EKlJ4$-xS8=Gr{tZURc^SgHhUEZ?g(ttT25r-AseWTE= zSk1r%@OQ4fLWBoLp=7a=ZtsbV zKThru3snd)IPN&reyjrV*i+?1H+B0>pqtd?i+x$9FEi6uW;353qT`5)&S9VGR7h(cihsX&zOoD{@kkb#H>=KweqxWXT6PX&l18T22I!TgYJ z=hd1x*N;dy%0(tb{V{|mQA7{r4n#{%0@f3VR`m}Byk8#&)QD|^1aEA}rKVb+WTfx^Z zp!_nKdyFWbBtFL}cCJ6RGKULL<$*LmC`~oBoC|Ql4Kn_A?i@MTu^=@6EBeEzo(dHL z-BXhg0MQ1OV|&n{BL7!Z$qU3tXvz9t?C(c@A+hK#bHTvfkK~Qb33oBugY43UpuKBH4&=G8f@aq>-$A3OwE{ zVJM)Tq!OYf1MmUL|3wtkiS`Q0EBuD{uKIK5&LuKKuKqwD2}x2yld2&&7WGAe4>??c zy5XoFU2$*h->(8GoL?DUKL)Pnq}2|@UC-3jE%nZp6C&^I9I?E|38_0!wP_<+Ig_kx z1iDv^|1cPL{o&lyw~IAIo}of+V1TOxfauy^61;oryA4G5MxaYS|4B5o9|H6j6ZAZi zUHXYFB;ubV=!mCI15Kbi{gEz^zK+PHq-p1~nIF17blvF-AbOoCBbwtDQl)!U9tBCpZvG6&>zz%dVazyifb#e0 zCqPA4pZ+Zs3-syVP*F9!#RssF5!*=pzyRcm{epfTrJpMRqnffuBqR21AQE8CF%+`@ z;6{iUtwIY6rXcyeOd3cUNPd%(IjEGNhU9~k>^?%kP7wOuAwRT?|fzK5AU7iP#PQ2ekVO{VYx!sp1V; z;NPt;sYie!wp}bl?lCX%@7A*zNK!o2D$#!?Hs1t|Sq+wtQhkiDbXMS4UbvyHr6JrH z=<>h&y#E~7`rmyL4#uUeUqt2j-_1Qvvs>BgliJ<-Z?{W|LX2Wm16fq(&dc&2)tJ0b zh&B5n7;yYPiq5`evWj}2>VaOXHo*IuOl*4lwBy&3ZDs*{9J-0v6e1`w3C5WOe=7n3 zoAGVL1{ce0zb5Ez%Jvh)RHgt*;vtLdcrnKFc+bgV&*5f|Zo6~uu!zhWoQS-`M8AaU zywg7nH$kuegxKHH{+7~PY0CLAd85)`Ov%E#9|M~>eF#4)qcQ^VP)4ArG(r}sKt^D! zWrXRZ4I9Br1Y`szu#7MqFpcm##7ranf}m`KQ;4ZdaYmSr0VZClh*Wry-*<&S!+Tpm zwJ+4Jvp%6^)SuBg;KSgv|0~e#*1Z{bBk`t;hQmdOXSGkDz*gzwwDZ6OJz- zX4NFwyVvnVfdoiad2MS-pX-BL0W~-k9Tl9dAA_!o1}d$G{RkzaS0`5OaH`?dU6`>t zL0!FpCtrF|UIC1S@BSjt`x}hfPCg5J16?n4^>_AUNl$wot6p#!cH~4h$`V6P<-G0p z9~jNW`|pHnJmJr{(|-=Zxi!9>SEJ+b4PHg5&X`8Sfhi)?DM}vmKiKyT`oiwp`?$^qY@@gnZ$S zzn(jH`T@*aF-58KHuc0_%%L$MLNp&&G&MxC(?OFBnzh(r6U^!cMYe{>%0LD`f=&pA zD6m!}eg2b_hJgBZWFhIjAN{m~Q~^TrzBPD02uer|-OsQsQjg9ZL*t_QIDklxx4jqR z_NC8dlIwek*{cMtmk;*J4`hTpji+kXruo`JmGOU2t zN(l!SqOEuJqmgL+8qon=LK*e%){t`2`adQMM)d;#t@aP!{G#Hqg^GZ&RC06A+up@J zm}7UH=>5%Xt^eiWF8@1G|2v%n8a!&AsyF{TZ+owWA(!eq!0x7WL~0Rf_jK-f2b1Pu z4SDprT+%x?WBD`#QSc#C(DHTP^r$`_peM10JGbz}>Z+leld-6I_tao&RDXLL=H4-_ z%YP>7Kco4F2Ir!9S^+h@vc0aZ4*ikQ^>Xifu1|NJT-Z-ccboy!Gvbz|(Gt-01{!)K zUCe+Ee{pr4>>ZxH@PuWbg}q%b-2O`BXrDhut~_{svxICcSQRkWV*tC=9YU0FP5?PamSaU@Yu(4q3n(r zY!(X~^gdCbV|<_~Oe?|n#>BpUvX^&1mYCu=nuCaKX3UV-t_S~P(ojZOx z$-f6#0L2`;H}>mc6I#Pi{S4N`gt*Tl-vC7X5NgP&mwt?BF=i0`?KI)))*rr3X5VCG zPa7pW`W4E`{by8vh~m8D)IW#lpg(~5yu`O(gzbYHDIV1~P=JzV$day9CH?kK=gtjI z0{$ApOEzT`?b9m}(1qyLDtdez(y?9ZMpp^*7!kPzYP^ftER}Tt%)$C+UquqqZUU+^ zBvI`W^(>)4Stpa@RPl1%sdjK8uBHw(K?-|O6rHM*DF4<&QY^o(2_KW*1HdmQ!e)=J) z>CHfmA!GqILQz7GqAZssK+yS8q;qRASX3FNtgTidzXF0~-J`OeM_Ie|TU9bea)PXi z(>E+mEN-U7>5$23nacXo+hdAL`?kf{w`F-Sfo@m32F+~U_N9Qs)q7()?SpmesmgF4 z0Y{)R3H5EDj%o0z!OM{;L)e-6&vK@Blo*AMOm|wD;&ydtM;WVW=ZaWLr+?xoOpg`l zc=%#e#v>U|Qn3*0HUePU7S(-gOv=3XP~@$o;B8g>U! zh$ahm6BPPW5^Yu1MTAyb_YtQ){hf#8ex@nOFw#fhYD1d(iwAAB-js1$tyc)Z^|h6`nrgLA zpj|wg19)$*h8Pw+S#4`a{n@;Ri(~_p0ZaI9naEi@=$cF-6ScRDQ7)kT=C=46MpB2p z`b67kS(P(bSjufOrVVKC{_l{_DS!Iidu-oVHnBdj+99&OlnvJZ2$`D{A|})gy`bpU z5FH^%Y(l)O5Eq&Vng$V~Um?Z;(YeWn zug)zcpTj;P)>98C+m_oOaHT(3#$nW&QFIoInFh7uUBk=A|$8JC|?~0bd~CboHw3 zRUcfMmiyl$PwLZ)64;hlY~Rc#TVSD=64^$-yFP+nEs}y?7k0CEP=VO-ppA$Cwvmy< zYSK&&z$zrIBKs!bPupZxlE@&f7%XJ*X{T9ol6%vHP9Zc#d%q9ZgC<_ZiNFH_te7Y` z0J0eTf55x{O(eOBXp0~lGP`%Jz)I>A357{AZHGszPSK*4m&=&+f;BD3PX*?%2ow$= z%{}A=?{f9rS;ci2yXUv;sf+w)X|fExdSh=>jdklkt&|ikM8Q6f?M18-f5+JGDr~uh z9UyE2VU>&CP9^o}k9{e=wx2*+dQZV+vRZPqcFfz~31~132N~25BU7*r?GB#nsya*E z#g*7b9Mq`04O$bxELw8VBDf?2KUD_mjTf$8!~$C`O0R^6Gw6T?TEvUrWvJr&dpd`( zKv8J}>E-?Vd+;!XEPI-EgiVGgkQ>H7-{kg~Oe;#-TBUW5L8}>(#IYuysuo1P^rnpo zEAeH1-%du;T0XtZM$?l87WyhKrhSQ-{w_9zSg#1JjA;c5zhx~TcCs9!t>M;g_Bo?B zd(;!U6@Cze(SkfhANNJnjcWEuGHy5fzkR{1xacZbad=#3HT!4fZ01fp>Lo|Ge9(4; zn`!#jr$2=JWLb0QdD!B21@mKhXpe7yF384i_S4~4)a>a50@#)(u-#~}eQPC&3AQm< z%ZG3XAuSdtOu?=H1zwDW?a4atEhoL1-({m8#>|BrjGyXf#1GW1qhFNW86XMOro*FDuo# zH(P7hu~9nY!B5N+*Hp$~^&p!{j@4A)n{iD=&AO%&Usd5#W!$dt@m8S^Ttb$F#Y(`( z=f_s7&zt!&woq8RCQOyU<3`h3$K|Btvq5Q#Wv9tnvSqGDcL76oE7TN5$rd_`P^#dI}|D zV#4i!R?Oae=?Ny1!$7E1i2PY2B7?d*^-Z6_uxnVm5go|k*?_!fYJ*|0L(_qD}lcP6_F+P}e;&(8Q3 zPXo&E>HCn=%y-DjH&OL*zR~gwhRqCbA_H8XAKntT!K+Nn)h4URc_!#L?wpPu!(csE*!w5+BRSyWBr zMx*R1IOgzw{48>)X7W23w`=|13Ba}9#_X&)EX@QAn$6#WXH2{#%m^$z5m;U2^WG!9 zOaC4u>_-T@p1BYO=B#5f3KA)fLyXR71&J8d7g0c6=ci;1aNm|Dhx
    Gw1VcqWj1Iq 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 Q3>GNUsBwu%c}~~xZ-WOdRsaA1 literal 0 HcmV?d00001 diff --git a/build/test/preprocess/files/test_WortSpiel.c b/build/test/preprocess/files/test_WortSpiel.c new file mode 100644 index 0000000..5d8393c --- /dev/null +++ b/build/test/preprocess/files/test_WortSpiel.c @@ -0,0 +1,41 @@ +#include "src/WortSpiel.h" +#include "C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h" + + + + + + + + +void setUp(void) + +{ + +} + + + +void tearDown(void) + +{ + +} + + + +void testLoescheBuchstaben_Buchstabeexistiert(void) { + + + + char wort1[] = "Beispiel"; + + loescheBuchstaben(wort1, 'i'); + + UnityAssertEqualString((const char*)(("Bebspel")), (const char*)((wort1)), ( + + ((void *)0) + + ), (UNITY_UINT)(19)); + +} diff --git a/build/test/preprocess/includes/test_WortSpiel.c b/build/test/preprocess/includes/test_WortSpiel.c new file mode 100644 index 0000000..eeb7242 --- /dev/null +++ b/build/test/preprocess/includes/test_WortSpiel.c @@ -0,0 +1,3 @@ +--- +- C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h +- src/WortSpiel.h diff --git a/build/test/results/test_SchereSteinPapier.pass b/build/test/results/test_SchereSteinPapier.pass index 3c4a66a..b52c95e 100644 --- a/build/test/results/test_SchereSteinPapier.pass +++ b/build/test/results/test_SchereSteinPapier.pass @@ -19,4 +19,4 @@ :failed: 0 :ignored: 0 :stdout: [] -:time: 0.8460040999998455 +:time: 0.8377281999992192 diff --git a/build/test/results/test_WortSpiel.fail b/build/test/results/test_WortSpiel.fail new file mode 100644 index 0000000..f7f23c6 --- /dev/null +++ b/build/test/results/test_WortSpiel.fail @@ -0,0 +1,18 @@ +--- +:source: + :path: test + :file: test_WortSpiel.c +:successes: [] +:failures: +- :test: testLoescheBuchstaben_Buchstabeexistiert + :line: 19 + :message: Expected 'Bebspel' Was 'Bespel' + :unity_test_time: 0 +:ignores: [] +:counts: + :total: 1 + :passed: 0 + :failed: 1 + :ignored: 0 +:stdout: [] +:time: 0.3247099000000162 diff --git a/build/test/results/test_ageinseconds.pass b/build/test/results/test_ageinseconds.pass index 1d68a7e..dbe5f60 100644 --- a/build/test/results/test_ageinseconds.pass +++ b/build/test/results/test_ageinseconds.pass @@ -23,4 +23,4 @@ :failed: 0 :ignored: 0 :stdout: [] -:time: 0.31263360000048124 +:time: 0.3112941999997929 diff --git a/build/test/results/test_minirechner.pass b/build/test/results/test_minirechner.pass index 0860cc1..bfe46de 100644 --- a/build/test/results/test_minirechner.pass +++ b/build/test/results/test_minirechner.pass @@ -83,4 +83,4 @@ :failed: 0 :ignored: 0 :stdout: [] -:time: 0.31362459999945713 +:time: 0.3098992000004728 diff --git a/build/test/results/test_zahlenraten.pass b/build/test/results/test_zahlenraten.pass index 2d73fcb..775ab75 100644 --- a/build/test/results/test_zahlenraten.pass +++ b/build/test/results/test_zahlenraten.pass @@ -15,4 +15,4 @@ :failed: 0 :ignored: 0 :stdout: [] -:time: 0.32567829999970854 +:time: 0.31609219999972993 diff --git a/build/test/runners/test_WortSpiel_runner.c b/build/test/runners/test_WortSpiel_runner.c new file mode 100644 index 0000000..f8c944e --- /dev/null +++ b/build/test/runners/test_WortSpiel_runner.c @@ -0,0 +1,81 @@ +/* AUTOGENERATED FILE. DO NOT EDIT. */ + +/*=======Automagically Detected Files To Include=====*/ +#include "unity.h" + +int GlobalExpectCount; +int GlobalVerifyOrder; +char* GlobalOrderError; + +/*=======External Functions This Runner Calls=====*/ +extern void setUp(void); +extern void tearDown(void); +extern void testLoescheBuchstaben_Buchstabeexistiert(void); + + +/*=======Mock Management=====*/ +static void CMock_Init(void) +{ + GlobalExpectCount = 0; + GlobalVerifyOrder = 0; + GlobalOrderError = NULL; +} +static void CMock_Verify(void) +{ +} +static void CMock_Destroy(void) +{ +} + +/*=======Test Reset Options=====*/ +void resetTest(void); +void resetTest(void) +{ + tearDown(); + CMock_Verify(); + CMock_Destroy(); + CMock_Init(); + setUp(); +} +void verifyTest(void); +void verifyTest(void) +{ + CMock_Verify(); +} + +/*=======Test Runner Used To Run Each Test=====*/ +static void run_test(UnityTestFunction func, const char* name, UNITY_LINE_TYPE line_num) +{ + Unity.CurrentTestName = name; + Unity.CurrentTestLineNumber = line_num; +#ifdef UNITY_USE_COMMAND_LINE_ARGS + if (!UnityTestMatches()) + return; +#endif + Unity.NumberOfTests++; + UNITY_CLR_DETAILS(); + UNITY_EXEC_TIME_START(); + CMock_Init(); + if (TEST_PROTECT()) + { + setUp(); + func(); + } + if (TEST_PROTECT()) + { + tearDown(); + CMock_Verify(); + } + CMock_Destroy(); + UNITY_EXEC_TIME_STOP(); + UnityConcludeTest(); +} + +/*=======MAIN=====*/ +int main(void) +{ + UnityBegin("test_WortSpiel.c"); + run_test(testLoescheBuchstaben_Buchstabeexistiert, "testLoescheBuchstaben_Buchstabeexistiert", 15); + + return UnityEnd(); +} diff --git a/src/WortSpiel.c b/src/WortSpiel.c index 45fbae3..2567b64 100644 --- a/src/WortSpiel.c +++ b/src/WortSpiel.c @@ -23,7 +23,7 @@ int run_wortspiel() { scanf("%s", wort); printf("Gib den zu löschenden Buchstaben ein: "); - scanf(" %c", &buchstabe); // Beachte das Leerzeichen vor %c, um das Newline-Zeichen aus dem vorherigen Eingabepuffer zu entfernen + scanf(" %c", &buchstabe); loescheBuchstaben(wort, buchstabe); diff --git a/src/WortSpiel.h b/src/WortSpiel.h index 1b117ca..b62e0a8 100644 --- a/src/WortSpiel.h +++ b/src/WortSpiel.h @@ -1,5 +1,6 @@ #ifndef WORTSPIEL_H #define WORTSPIEL_H +void loescheBuchstaben(char* wort, char buchstabe); #endif // WORTSPIEL_H diff --git a/test/test_WortSpiel.c b/test/test_WortSpiel.c index 0309e2b..3825f9f 100644 --- a/test/test_WortSpiel.c +++ b/test/test_WortSpiel.c @@ -12,9 +12,11 @@ void tearDown(void) { } -void test_WortSpiel_NeedToImplement(void) -{ - TEST_IGNORE_MESSAGE("Need to Implement WortSpiel"); +void testLoescheBuchstaben_Buchstabeexistiert(void) { + // Testfall 1: Buchstabe existiert im Wort + char wort1[] = "Beispiel"; + loescheBuchstaben(wort1, 'i'); + TEST_ASSERT_EQUAL_STRING("Bespel", wort1); } #endif // TEST