From a50c84c645826fc4b2b58e4131b77352ce933518 Mon Sep 17 00:00:00 2001 From: Lennart Goetze Date: Wed, 7 Feb 2024 02:28:33 +0100 Subject: [PATCH] Unittest: determineWinner --- build/test/cache/defines_dependency.yml | 2 + build/test/cache/test_SchereSteinPapier.c | 43 ++++++++++ build/test/dependencies/SchereSteinPapier.d | 2 + .../dependencies/test_SchereSteinPapier.d | 4 + .../test_SchereSteinPapier_runner.d | 4 + build/test/out/c/SchereSteinPapier.o | Bin 0 -> 5791 bytes build/test/out/c/test_SchereSteinPapier.o | Bin 0 -> 3671 bytes .../out/c/test_SchereSteinPapier_runner.o | Bin 0 -> 6719 bytes build/test/out/test_SchereSteinPapier.out | Bin 0 -> 115915 bytes build/test/out/test_ageinseconds.out | Bin 116128 -> 116128 bytes build/test/out/test_minirechner.out | Bin 127481 -> 127481 bytes build/test/out/test_zahlenraten.out | Bin 115821 -> 115821 bytes .../preprocess/files/test_SchereSteinPapier.c | 43 ++++++++++ .../includes/test_SchereSteinPapier.c | 3 + .../test/results/test_SchereSteinPapier.pass | 18 ++++ build/test/results/test_ageinseconds.pass | 2 +- build/test/results/test_minirechner.pass | 2 +- build/test/results/test_zahlenraten.pass | 2 +- .../runners/test_SchereSteinPapier_runner.c | 81 ++++++++++++++++++ src/SchereSteinPapier.h | 1 + test/test_SchereSteinPapier.c | 22 +++++ 21 files changed, 226 insertions(+), 3 deletions(-) create mode 100644 build/test/cache/test_SchereSteinPapier.c create mode 100644 build/test/dependencies/SchereSteinPapier.d create mode 100644 build/test/dependencies/test_SchereSteinPapier.d create mode 100644 build/test/dependencies/test_SchereSteinPapier_runner.d create mode 100644 build/test/out/c/SchereSteinPapier.o create mode 100644 build/test/out/c/test_SchereSteinPapier.o create mode 100644 build/test/out/c/test_SchereSteinPapier_runner.o create mode 100644 build/test/out/test_SchereSteinPapier.out create mode 100644 build/test/preprocess/files/test_SchereSteinPapier.c create mode 100644 build/test/preprocess/includes/test_SchereSteinPapier.c create mode 100644 build/test/results/test_SchereSteinPapier.pass create mode 100644 build/test/runners/test_SchereSteinPapier_runner.c diff --git a/build/test/cache/defines_dependency.yml b/build/test/cache/defines_dependency.yml index 276aae5..a81d8fc 100644 --- a/build/test/cache/defines_dependency.yml +++ b/build/test/cache/defines_dependency.yml @@ -5,3 +5,5 @@ src/minirechner.c: - TEST src/zahlenraten.c: - TEST +src/SchereSteinPapier.c: +- TEST diff --git a/build/test/cache/test_SchereSteinPapier.c b/build/test/cache/test_SchereSteinPapier.c new file mode 100644 index 0000000..a1c62af --- /dev/null +++ b/build/test/cache/test_SchereSteinPapier.c @@ -0,0 +1,43 @@ +#include "src/SchereSteinPapier.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 test_Scheresteinpapier_generateRandom(void) { + + + + srand(42); + + + + for (int i = 0; i < 100; ++i) { + + int result = generateRandom(); + + do {if ((result >= 0 && result <= 2)) {} else {UnityFail( ((" Expected TRUE Was FALSE")), (UNITY_UINT)((UNITY_UINT)(21)));}} while(0); + + } + +} diff --git a/build/test/dependencies/SchereSteinPapier.d b/build/test/dependencies/SchereSteinPapier.d new file mode 100644 index 0000000..83e9bd7 --- /dev/null +++ b/build/test/dependencies/SchereSteinPapier.d @@ -0,0 +1,2 @@ +build/test/out/c/SchereSteinPapier.o: src/SchereSteinPapier.c \ + src/SchereSteinPapier.h diff --git a/build/test/dependencies/test_SchereSteinPapier.d b/build/test/dependencies/test_SchereSteinPapier.d new file mode 100644 index 0000000..f88fdf7 --- /dev/null +++ b/build/test/dependencies/test_SchereSteinPapier.d @@ -0,0 +1,4 @@ +build/test/out/c/test_SchereSteinPapier.o: test/test_SchereSteinPapier.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/SchereSteinPapier.h diff --git a/build/test/dependencies/test_SchereSteinPapier_runner.d b/build/test/dependencies/test_SchereSteinPapier_runner.d new file mode 100644 index 0000000..623b8b2 --- /dev/null +++ b/build/test/dependencies/test_SchereSteinPapier_runner.d @@ -0,0 +1,4 @@ +build/test/out/c/test_SchereSteinPapier_runner.o: \ + build/test/runners/test_SchereSteinPapier_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/SchereSteinPapier.o b/build/test/out/c/SchereSteinPapier.o new file mode 100644 index 0000000000000000000000000000000000000000..dc33abee107f4994e21289ca69db543e4a6abc15 GIT binary patch literal 5791 zcmcgwUu+!38K2p`vClsLImZsQn}n>BIM~5H+lgZm=bsbj$OQyM1d{|p&G~M9cjUZh z?d>JOZ6NB2sK%lN%0nMeffuSi6;&!qX{E*qEr_-%?E^wQP#$8{X%GrkDj6D){=S*r z^cBGy8zTfwo@B3zUc4l|e=NcH5msc>>C8ZFHIp%3c%Bp%@V{AXJ;YOu*pfT8? zCu8ZPlML{d6NlNM3$gKHaXDKMJ4?LNl@7Z>xEua#(o)9+&VOp zXIJvx;=sWR7UVbFI}k(|8`K%QR>jz+CWVvRVHVxj+do)AoP@uPwH1)!ZJ~^o3TZ!% zF!q7#PlGP~4QyQ^K^lj@OW=L#^2oL1ZM~<0*9NVlz5-Ib!EF`b*U)w^$J=%X-e2knuQQ{q zVY z=973q=8802HNKEQjxUH!AbRL*e4)I^oi5qxPP=S{(*_#dUXLa-xbigecrSi~0=*Ys zRLynD?aD`}X5-hT`==m#{ov+og&M!STn?9?yKp)@8^2s$)SjWxZw30O(BA-Ac;Ooi zE`ANf+0knl*4tA5d^Ubf2L3G2t9<5jURnuP{|k#A zIljot@#`EDvORvi@rQR}VnJyQP-f#dWZa$#Y*Avv71)g(@x^B->e7XyI2;aE7sPh5I2PEo!zC+iT1IDox3R@25VEz)IF&TBdD9v)SVtOkHfm)`X5PtV zOyjn$F=JoOaZDrNz%X-G#vC`T7_05+=}|F^j;y{LWNM!)K~IS_TEFgaCn;6@I_8A9w@cECJUuq@MR z$8b!`DW(wKvCOoQvm98&l0^bqbunA8DbpY=B&0E<*d&XwF()@^4i1bt?7QpFB8ng#+Vd^% zP|Q$ur3)VRb(t9thth@8c-{mxG?6bPkxeutv+;0Es9Y#sy&I14-`z?6_v1m+sbV2g ztBR?lHNk4MpFv5IjjC!EN|JHPhKmXI6({SnOV);>owU+Se9WV-5c&zstWjYf@kU}t z?UFTyC52^Oqy;@Cmod}Y1X<}Br1AxNQ{k^p<0fe6g9XS|*APd0>8MszOYM+cYOKS> z^IFPX&#qykYsiMzyAHpQZatT*vq5=GhkISZ-&{fswRbD)BQ>-~3@GJE&0F+rYrTSw z!`g)9XxfuG%RG|9!(%h8R*r~v7Ap6v1|zzJ5y^+UP4#BA>w|H|*Zs-GsPTCG)jm86En|Fl*x?l&J!E9ua_Ap7}4oT4!1*;*(_q0)`&n}#F2iLa<;tOlMNl;`$(<+@h5P5xgT!*p3JlUrI4zAUd}kH?7;BDk z4BL+p?9+mgxh6H#l?ir+KZ{9W-MFviSSObmh_`yB{e%m42^bFY@lYRs5vI0^P=XBl4v+7gabXiXI`|SW8F^C zO+D@tYgEVjW1?kVtbRkZmPO5VQ5W7V>NDco^P(vWA-qzon#XG$yy_G8shIZ(q2Kw= ze0Y}#gIrS<_2CvYpw|6E@MBsPrqJC?j^MOp-UcF-k)h+GMbj?I`uG96G&N;fQ+DAg z^Mqp@v?dDnWYWo0~}{h3Zy6W)jw0==GsK&3o-D__{^qe+QU-iTvKo0OcySEE^Jm(hP zt-G$r)9zJ7FYc}9jmOika7nxavDf1YvAf+YLhLt?IwW=xHGRy5*axULO6g-C`wY@u z5~DY4#jD1+J0*4xB!%sPr25|LV-Nb+aUV-VQvRlW?E8?EKl=Jr{^(0V`TM<({n_Vz z=3@&!_N9+~kW`FLAM1mpV(j!W`iG#f!#?&nB-J-U{RZj{-q7PkNzN;&1)VI>wQdT-|l$8!SB^kbz?zzG!BPG#htol-nmAE2o7wR=q z+UrYkNYsO~QPgd?BJ2X@N?~otUP(i~bU&n3l6TaXUiPg&_p!Hq=@Z}jwJ)v5p{+bu z!51AL5$27Y%d=i(O7pIyO}<2b0Tf10i;{Nx(ugl5eCYvSIs!?>rI~EU6=8;t?e{V2 zt9W@IoAR+&eC#Ja7MsZ76;+jQ@L*ξPk4r6ON!T$LlPE;&nfPdW=>9WLTv%20lU zi=O=@xv^x!`)+@j?;Wpu{x(eTO?JMf4VAud4WUE%-=je-&zSbOZl8~?>)Mb6?HlIeFZ<~ zQPT)3%bLJwH6}kwd;+Z>_3h$8gt(tME+jeftEhrga*CeL7;)}KoLJf%FJ;DZct`N$ zHU9N!*)6>(QX~It8?SHuw|CaBETfa+||Ni=a PB|J8ko1F4Kb=iLb8H)Ma literal 0 HcmV?d00001 diff --git a/build/test/out/c/test_SchereSteinPapier.o b/build/test/out/c/test_SchereSteinPapier.o new file mode 100644 index 0000000000000000000000000000000000000000..5b69bb842b74f35a3f06712e08024dd1c8836664 GIT binary patch literal 3671 zcmbtWU2GIp6h3!;cDHQ*pyj71bgGrVbZ578DWwSZhtgJ{sfA6&Ku7i8nnIjibXS zOUP-L0X}l#;nZNf){$s$zmElQ7e{ZYHIU%-#cDtr%?1EAQ6Lm5fyayQ<6~F7gT__l z?QwYGJuvUS{Vt_$&*SwE)cE%?fR11dB=Qc_zVI|srb26ZI4=ik>sv+2d&s-&)Q6>F zyrGfA#I>JS&))HM6Dz;PKHY=vUnuI=V-KkNwTF+cjon+hcn=l>sHIEopKV0fgqX&O zYoBw<%Gd+8a`8d>(l@KC6DwcD&fZz|3sWRjk=eA@hh#N0LkOh-a9^2vTHRPO@6*_~ zV$;SJ%SPHZ=CxBZi7{<9X=z7?kDnYv7ncftAQc!r2J6PB6543*eyz7p->b*8$bwxd z8i%q*(J=FA945_l?$F{uf22RIMY6DM?Wdxot}qrz=aMEUrx9VHV4+mZYFt%{Rz6$A zitlWkb`+{tv# zFwrpb#d5NoH_W*;QCLeroO1vPe3pdW7{>2h6Y?Ps8PvER;Golo^3c{yDW&U$;BE)p zvQlVIc!Z?KJ|d8G785yC--=JxDHgJsx>vbRV*gWUku4dL+Nu#78D(%Ewz za%eDoFnpj(oosuygSFulY{78K4wyt+-2~|Gl8_LlaX{s8FwEAo4VW$z=YA&q5T_^Iz@!7~M9*B4@&h^J5m9%L`$|Wnm7_p38kCv+B3$~V8(nd@p zowK!*xT|rhdo(k?+c{|Q)1kCudx*k-EozOy&`nwqDD=noi@Upqn_I6)qfLR4uaJxc zm*@K3z8-Jw8R7DzX(u4iokYW?0R7&&xJ5q>`mZQ(0`*heLIw1Hlo53;s;H4;q=lEB z6BfOz@X{t17-bWd=6NX!al>#3^;T{TdluC~PcVMYQKT?@kFzE)+LOZC=2^!*E8|(j z*}$K5>tp=AM7AC15f;sXuyoHF@T_WmBOW&HSuda^YN5B>jxEe*R$xawY{KIeJgn?t zdM1xQG9iCG1jypM0uZw*;=mPShB+k8srt!sPi$HtoWtF3pr$n;5dXcHLdcAcGy1+& z@!yGYI+0WLxt9MvEZ5`s?!uHoW;9E+;=c#0=#p7CYUk4GP<7uOm}XXHc-lWkK5#I4 zf0@w@*tz8SxSu#Stw5RG^?9o1myStQ$Sj7MW}#NTbB2^bW_0VVt(n|EkwW1+g3(R( zQTg40ny{DIu}2Ar+;>p=iZWY8O|wuHaieg@xHh;M^76UJ<{G36NBX>xs$}s<%#>U^ znM#?)1#g6xm8@a8Lp+oX*S2iaH3^>MWB#SOmzS4aSH?^(82{<4{)d~-|0(ldYg=>6 Is$T5=1|VWG%K!iX literal 0 HcmV?d00001 diff --git a/build/test/out/c/test_SchereSteinPapier_runner.o b/build/test/out/c/test_SchereSteinPapier_runner.o new file mode 100644 index 0000000000000000000000000000000000000000..a3c117c9313a5c5cec13435d567938b2094d38f8 GIT binary patch literal 6719 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 Z>!qxDn;{ehZaxG@-jdY4q^rE_{{j}Qi&Fpq literal 0 HcmV?d00001 diff --git a/build/test/out/test_SchereSteinPapier.out b/build/test/out/test_SchereSteinPapier.out new file mode 100644 index 0000000000000000000000000000000000000000..c3e9f541e94ee7fb9515b74ee4b8438e887a8fe2 GIT binary patch literal 115915 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 delta 25 hcmZ3`&AyF*e@bdYkd+5df743_Jh; diff --git a/build/test/out/test_minirechner.out b/build/test/out/test_minirechner.out index 09ee70807f2e58fbaa92db4f3655ce6e2a698e22..e3a27d6c3c5c3bcbe5de18bf505b6b90be9796ff 100644 GIT binary patch delta 24 gcmezQnEmHt_6Z$KQnw~{`7!wjHs0ELi&6d~0GSjEm;e9( delta 24 gcmezQnEmHt_6Z$KFHTSF@?(->ZoIYi7Nh(}0HPuc7XSbN diff --git a/build/test/out/test_zahlenraten.out b/build/test/out/test_zahlenraten.out index 557c303dc59cfbfffc17e7d8fee0adaddb8048b9..0417dd46910bd6c8d931f58edf3794fa30836271 100644 GIT binary patch delta 24 gcmaFc!Tz>`eL@G5^sR|qeoW1YjkmVmVw`*!0F37gm;e9( delta 24 gcmaFc!Tz>`eL@G*%hMCP{FnlR8*gpB#W?ve0G0I&7XSbN diff --git a/build/test/preprocess/files/test_SchereSteinPapier.c b/build/test/preprocess/files/test_SchereSteinPapier.c new file mode 100644 index 0000000..a1c62af --- /dev/null +++ b/build/test/preprocess/files/test_SchereSteinPapier.c @@ -0,0 +1,43 @@ +#include "src/SchereSteinPapier.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 test_Scheresteinpapier_generateRandom(void) { + + + + srand(42); + + + + for (int i = 0; i < 100; ++i) { + + int result = generateRandom(); + + do {if ((result >= 0 && result <= 2)) {} else {UnityFail( ((" Expected TRUE Was FALSE")), (UNITY_UINT)((UNITY_UINT)(21)));}} while(0); + + } + +} diff --git a/build/test/preprocess/includes/test_SchereSteinPapier.c b/build/test/preprocess/includes/test_SchereSteinPapier.c new file mode 100644 index 0000000..1bb5f0e --- /dev/null +++ b/build/test/preprocess/includes/test_SchereSteinPapier.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/SchereSteinPapier.h diff --git a/build/test/results/test_SchereSteinPapier.pass b/build/test/results/test_SchereSteinPapier.pass new file mode 100644 index 0000000..df998a3 --- /dev/null +++ b/build/test/results/test_SchereSteinPapier.pass @@ -0,0 +1,18 @@ +--- +:source: + :path: test + :file: test_SchereSteinPapier.c +:successes: +- :test: test_Scheresteinpapier_generateRandom + :line: 15 + :message: '' + :unity_test_time: 0 +:failures: [] +:ignores: [] +:counts: + :total: 1 + :passed: 1 + :failed: 0 + :ignored: 0 +:stdout: [] +:time: 0.03652950000105193 diff --git a/build/test/results/test_ageinseconds.pass b/build/test/results/test_ageinseconds.pass index fffdc3a..a921d54 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.8361497999994754 +:time: 0.03658220000033907 diff --git a/build/test/results/test_minirechner.pass b/build/test/results/test_minirechner.pass index 7e7a215..89514e2 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.33068490000005113 +:time: 0.03659530000004452 diff --git a/build/test/results/test_zahlenraten.pass b/build/test/results/test_zahlenraten.pass index 15fdbb1..a5a6eda 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.31757349999952567 +:time: 0.03663650000089547 diff --git a/build/test/runners/test_SchereSteinPapier_runner.c b/build/test/runners/test_SchereSteinPapier_runner.c new file mode 100644 index 0000000..6583e72 --- /dev/null +++ b/build/test/runners/test_SchereSteinPapier_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 test_Scheresteinpapier_generateRandom(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_SchereSteinPapier.c"); + run_test(test_Scheresteinpapier_generateRandom, "test_Scheresteinpapier_generateRandom", 15); + + return UnityEnd(); +} diff --git a/src/SchereSteinPapier.h b/src/SchereSteinPapier.h index ca588ce..4d4c26e 100644 --- a/src/SchereSteinPapier.h +++ b/src/SchereSteinPapier.h @@ -2,5 +2,6 @@ #define SCHERESTEINPAPIER_H int generateRandom(); +int determineWinner(int spielerWahl, int computerWahl); #endif // SCHERESTEINPAPIER_H diff --git a/test/test_SchereSteinPapier.c b/test/test_SchereSteinPapier.c index 4273d92..aa5b429 100644 --- a/test/test_SchereSteinPapier.c +++ b/test/test_SchereSteinPapier.c @@ -22,4 +22,26 @@ void test_Scheresteinpapier_generateRandom(void) { } } +void test_Scheresteinpapier_determineWinner(void) { + + for (int spieler = 0; spieler <= 2; ++spieler) { + for (int computer = 0; computer <= 2; ++computer) { + int result = determineWinner(spieler, computer); + + + if ((spieler == 0 && computer == 2) || + (spieler == 1 && computer == 0) || + (spieler == 2 && computer == 1)) { + TEST_ASSERT_EQUAL(1, result); // Spieler gewinnt + } + else if (spieler == computer) { + TEST_ASSERT_EQUAL(0, result); // Unentschieden + } + else { + TEST_ASSERT_EQUAL(-1, result); // Computer gewinnt + } + } + } +} + #endif // TEST