From 1dabec56b24c753c20d09bd9edbf391b967ce9c3 Mon Sep 17 00:00:00 2001 From: Kevin Schellberg Date: Sun, 4 Feb 2024 19:11:46 +0100 Subject: [PATCH] Benutzereingabe --- build/test/cache/defines_dependency.yml | 4 +- build/test/cache/test_quizduell.c | 59 ++++++++++++++++++ build/test/dependencies/quizduell.d | 1 + build/test/dependencies/test_quizduell.d | 5 +- build/test/out/c/quizduell.o | Bin 0 -> 7847 bytes build/test/out/c/test_quizduell.o | Bin 729 -> 4816 bytes build/test/out/c/test_quizduell_runner.o | Bin 4734 -> 6595 bytes build/test/out/test_quizduell.out | Bin 101212 -> 111492 bytes build/test/preprocess/files/test_quizduell.c | 59 ++++++++++++++++++ .../test/preprocess/includes/test_quizduell.c | 4 +- build/test/results/test_casualQuiz.pass | 2 +- build/test/results/test_quizduell.pass | 12 ++-- build/test/results/test_timequiz.pass | 2 +- build/test/results/test_wwm.pass | 2 +- build/test/runners/test_quizduell_runner.c | 36 +++++++++-- src/quizduell.c | 3 + 16 files changed, 173 insertions(+), 16 deletions(-) create mode 100644 build/test/dependencies/quizduell.d create mode 100644 build/test/out/c/quizduell.o diff --git a/build/test/cache/defines_dependency.yml b/build/test/cache/defines_dependency.yml index 2fbf0ff..3e29f85 100644 --- a/build/test/cache/defines_dependency.yml +++ b/build/test/cache/defines_dependency.yml @@ -1 +1,3 @@ ---- {} +--- +src/quizduell.c: +- TEST diff --git a/build/test/cache/test_quizduell.c b/build/test/cache/test_quizduell.c index e69de29..0bd6872 100644 --- a/build/test/cache/test_quizduell.c +++ b/build/test/cache/test_quizduell.c @@ -0,0 +1,59 @@ +#include "src/quizduell.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_erstelleFrage(void) { + + QuizFrage testFrage = erstelleFrage("Testfrage", "AntwortA", "AntwortB", "AntwortC", "AntwortD", 'A'); + + + + UnityAssertEqualString((const char*)(("Testfrage")), (const char*)((testFrage.frage)), ( + + ((void *)0) + + ), (UNITY_UINT)(14)); + + UnityAssertEqualString((const char*)(("AntwortA")), (const char*)((testFrage.antwortA)), ( + + ((void *)0) + + ), (UNITY_UINT)(15)); + + UnityAssertEqualString((const char*)(("AntwortB")), (const char*)((testFrage.antwortB)), ( + + ((void *)0) + + ), (UNITY_UINT)(16)); + + UnityAssertEqualString((const char*)(("AntwortC")), (const char*)((testFrage.antwortC)), ( + + ((void *)0) + + ), (UNITY_UINT)(17)); + + UnityAssertEqualString((const char*)(("AntwortD")), (const char*)((testFrage.antwortD)), ( + + ((void *)0) + + ), (UNITY_UINT)(18)); + + UnityAssertEqualNumber((UNITY_INT)(UNITY_INT8 )(('A')), (UNITY_INT)(UNITY_INT8 )((testFrage.korrekteAntwort)), ( + + ((void *)0) + + ), (UNITY_UINT)(19), UNITY_DISPLAY_STYLE_CHAR); + +} diff --git a/build/test/dependencies/quizduell.d b/build/test/dependencies/quizduell.d new file mode 100644 index 0000000..de79562 --- /dev/null +++ b/build/test/dependencies/quizduell.d @@ -0,0 +1 @@ +build/test/out/c/quizduell.o: src/quizduell.c src/quizduell.h diff --git a/build/test/dependencies/test_quizduell.d b/build/test/dependencies/test_quizduell.d index b2861de..7ee91aa 100644 --- a/build/test/dependencies/test_quizduell.d +++ b/build/test/dependencies/test_quizduell.d @@ -1 +1,4 @@ -build/test/out/c/test_quizduell.o: test/test_quizduell.c +build/test/out/c/test_quizduell.o: test/test_quizduell.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/quizduell.h diff --git a/build/test/out/c/quizduell.o b/build/test/out/c/quizduell.o new file mode 100644 index 0000000000000000000000000000000000000000..0919ac320865ae178b0d800ccf0408ffbede02f5 GIT binary patch literal 7847 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 literal 4734 zcmb_gU2GiH6~1?8W_Rt469{mhi?joCbZk%TV z{|$IiLHmliLKI=_8fWYZc+YH;IJLLPiZi*1LownzXxqyMV|$09yy2PLgVQnIhp>K_ zjzK67yuxG*%)^=Rl)<&Oi6BtHzC+H*b>fDtbi9{8d8_)Qul3p?^E(yO8$;yWB&5HrYuA7-rNGCs^(u1wa-8I=j&vOM22p3h3g4J*Z9I$=4s7H zKS)f*_$_p*8W;Oz1FsyO{)qhCU?R@U)%HAL>Q9o}jiWIjp}r^Sd%tf0+~WOcoJgqON&4b; z0Nf&u#*}2g%=+W@!V!sk3;kr1v6V`_uLay5@s}+Lg74FT`9XPeI5u;rdv`Ms? z^Ry~O0trJliYiXbHCvT(^HgWmuKKgBHlU>Odz3OjQ(Z_v`2qTEdF?xH&30KTpoBYB zKoQPUuG>OSrC!0J8PLKdqEpWeEIJK;?UYkviBEZwY8e#Bj9qUyEb(uid=Ehxj)ZNy zSO&%mqNd)7z&DLcqB)OZr8BE{e!=b9p6v_oy}h%RZzg@a?4E2r?XdCQr2r=a7gyQW zdlwhq)Mn4Ms!x_qqE5H9#zuRWtzyWoV!M0y14THEeh|By=-`mXHyPi@GMVEU>b69I zY3ak`{77axb9&^&XaYN-W+`lZX#eO=en+Z!*ZL?{)DD&zPoEya{I}SN(J*j48Ipbs zQgUk-#iw@id($HsZS3wbDs=d3*pTmIRNg=klsRHdXZDYt9ytp7pv6Tc0eEzjgPAcz zz%~_thEsrSB{hIOfCp<763z=@h>crn@$?0l2Do&ja?by|eTXue9(bUPY4gx+JRLj< zK9<;_U4h20QSu3424@4ZN?6)3H+G$Q)wuIjgTHb7%<(hE9Vd*DhmBn)jNK0#{2@cT zd>&%(^G`!X)_KOz&KrXtK}{r4|L_vx|$!5;h9kb;?c8T48gu zvxm(C=Niu3W7)^Bbz%oC9V}$qRoBn1w!B6s>)9(0nA8`(Sy?k@T)VpBo8K=x*f_lV zgY6h&5l9j_ZU4Gh4^q2ZVLyjSLDKNT{ zN-y0kq(*0v^wJGOVtbTkD(^mpQ9C4$rm>98D~z@a>77#EqY5i3?WFS3)RhrumA0U~ zk1FhOr7bBhwG?X<@uo;=K~RLm!U)cuSJ;N)y{oXlDeQ*AXk}5WI4eMt|o*i^?Nv@u~lf>;`T&Yn`*ua)*sXtGtGD{VKHwZtZs zc1~$6rEMtfO{LMSqYWt|W}Pf$FYIxF(S|HFnq5+(@s--N(vB-F981ou_t1*EicyAu6!rSa7`tX2{<$s zvLzM}(d!B+0uk>mkWwj}9WWWqF_P~Fx7RuOYmDYyV93ax2u! zm5OU$QkGkG>b4h}IK@;Du3J&KBy91UV&D4u`Yq2id0P`#EvW|AviL2odr^$uDF0tg Zr`PChZ~u*3BC>h%f-RBAeL8Ya{sLsZp|St~ diff --git a/build/test/out/test_quizduell.out b/build/test/out/test_quizduell.out index 801da282b36472c7ef152a50747b04e5cfb1d1b2..f0d9177a5b87143e538fe754d85882d63a302008 100755 GIT binary patch delta 35636 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

!AGdX=#hLz&0hqoM68H{$YDAxB96VpK2G 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 diff --git a/build/test/preprocess/files/test_quizduell.c b/build/test/preprocess/files/test_quizduell.c index e69de29..0bd6872 100644 --- a/build/test/preprocess/files/test_quizduell.c +++ b/build/test/preprocess/files/test_quizduell.c @@ -0,0 +1,59 @@ +#include "src/quizduell.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_erstelleFrage(void) { + + QuizFrage testFrage = erstelleFrage("Testfrage", "AntwortA", "AntwortB", "AntwortC", "AntwortD", 'A'); + + + + UnityAssertEqualString((const char*)(("Testfrage")), (const char*)((testFrage.frage)), ( + + ((void *)0) + + ), (UNITY_UINT)(14)); + + UnityAssertEqualString((const char*)(("AntwortA")), (const char*)((testFrage.antwortA)), ( + + ((void *)0) + + ), (UNITY_UINT)(15)); + + UnityAssertEqualString((const char*)(("AntwortB")), (const char*)((testFrage.antwortB)), ( + + ((void *)0) + + ), (UNITY_UINT)(16)); + + UnityAssertEqualString((const char*)(("AntwortC")), (const char*)((testFrage.antwortC)), ( + + ((void *)0) + + ), (UNITY_UINT)(17)); + + UnityAssertEqualString((const char*)(("AntwortD")), (const char*)((testFrage.antwortD)), ( + + ((void *)0) + + ), (UNITY_UINT)(18)); + + UnityAssertEqualNumber((UNITY_INT)(UNITY_INT8 )(('A')), (UNITY_INT)(UNITY_INT8 )((testFrage.korrekteAntwort)), ( + + ((void *)0) + + ), (UNITY_UINT)(19), UNITY_DISPLAY_STYLE_CHAR); + +} diff --git a/build/test/preprocess/includes/test_quizduell.c b/build/test/preprocess/includes/test_quizduell.c index dcd024e..11ef2c0 100644 --- a/build/test/preprocess/includes/test_quizduell.c +++ b/build/test/preprocess/includes/test_quizduell.c @@ -1 +1,3 @@ ---- [] +--- +- C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h +- src/quizduell.h diff --git a/build/test/results/test_casualQuiz.pass b/build/test/results/test_casualQuiz.pass index 0bc5efb..c2a7f76 100644 --- a/build/test/results/test_casualQuiz.pass +++ b/build/test/results/test_casualQuiz.pass @@ -11,4 +11,4 @@ :failed: 0 :ignored: 0 :stdout: [] -:time: 0.030125300000008792 +:time: 0.016023700000005192 diff --git a/build/test/results/test_quizduell.pass b/build/test/results/test_quizduell.pass index 8d3b1f2..6bdebc1 100644 --- a/build/test/results/test_quizduell.pass +++ b/build/test/results/test_quizduell.pass @@ -2,13 +2,17 @@ :source: :path: test :file: test_quizduell.c -:successes: [] +:successes: +- :test: test_erstelleFrage + :line: 11 + :message: '' + :unity_test_time: 0 :failures: [] :ignores: [] :counts: - :total: 0 - :passed: 0 + :total: 1 + :passed: 1 :failed: 0 :ignored: 0 :stdout: [] -:time: 0.027771300000040355 +:time: 0.029750499999977364 diff --git a/build/test/results/test_timequiz.pass b/build/test/results/test_timequiz.pass index 54e9236..dec4f9d 100644 --- a/build/test/results/test_timequiz.pass +++ b/build/test/results/test_timequiz.pass @@ -11,4 +11,4 @@ :failed: 0 :ignored: 0 :stdout: [] -:time: 0.028294399999936104 +:time: 0.016164499999945292 diff --git a/build/test/results/test_wwm.pass b/build/test/results/test_wwm.pass index e1d9402..c4a08c4 100644 --- a/build/test/results/test_wwm.pass +++ b/build/test/results/test_wwm.pass @@ -11,4 +11,4 @@ :failed: 0 :ignored: 0 :stdout: [] -:time: 0.027808699999923192 +:time: 0.01664180000000215 diff --git a/build/test/runners/test_quizduell_runner.c b/build/test/runners/test_quizduell_runner.c index a93b0e4..bd8394b 100644 --- a/build/test/runners/test_quizduell_runner.c +++ b/build/test/runners/test_quizduell_runner.c @@ -10,6 +10,7 @@ char* GlobalOrderError; /*=======External Functions This Runner Calls=====*/ extern void setUp(void); extern void tearDown(void); +extern void test_erstelleFrage(void); /*=======Mock Management=====*/ @@ -26,12 +27,6 @@ static void CMock_Destroy(void) { } -/*=======Setup (stub)=====*/ -void setUp(void) {} - -/*=======Teardown (stub)=====*/ -void tearDown(void) {} - /*=======Test Reset Options=====*/ void resetTest(void); void resetTest(void) @@ -48,10 +43,39 @@ 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_quizduell.c"); + run_test(test_erstelleFrage, "test_erstelleFrage", 11); return UnityEnd(); } diff --git a/src/quizduell.c b/src/quizduell.c index 5476c5a..7672658 100644 --- a/src/quizduell.c +++ b/src/quizduell.c @@ -53,6 +53,9 @@ void quizduell() { zeigeVerfuegbareKategorien(kategorien); + printf("Your selection: "); + scanf("%s", auswahl); + return; }