From 98df4cfb40de2bb083be80fd10c9cecc098c021e Mon Sep 17 00:00:00 2001 From: Pascal Schneider Date: Mon, 5 Feb 2024 23:35:18 +0100 Subject: [PATCH] Unittest Struktur und 1. Unittest --- build/test/cache/test_timequiz.c | 47 ++++++++++++++++++ build/test/dependencies/test_timequiz.d | 5 +- build/test/out/c/test_timequiz.o | Bin 729 -> 3560 bytes build/test/out/c/test_timequiz_runner.o | Bin 4717 -> 6638 bytes build/test/out/c/timequiz.o | Bin 16297 -> 5083 bytes build/test/out/test_timequiz.out | Bin 101211 -> 108429 bytes build/test/preprocess/files/test_timequiz.c | 47 ++++++++++++++++++ .../test/preprocess/includes/test_timequiz.c | 4 +- build/test/results/test_casualQuiz.pass | 2 +- build/test/results/test_quizduell.pass | 2 +- build/test/results/test_timequiz.pass | 12 +++-- build/test/results/test_wwm.pass | 2 +- build/test/runners/test_timequiz_runner.c | 36 +++++++++++--- test/test_timequiz.c | 27 ++++++++++ 14 files changed, 169 insertions(+), 15 deletions(-) diff --git a/build/test/cache/test_timequiz.c b/build/test/cache/test_timequiz.c index e69de29..cb30133 100644 --- a/build/test/cache/test_timequiz.c +++ b/build/test/cache/test_timequiz.c @@ -0,0 +1,47 @@ +#include "src/timequiz.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_getRandomQuestionIndex(void) { + + int askedQuestions[10] = {0}; + + int totalQuestions = 10; + + + + + + int index = getRandomQuestionIndex(askedQuestions, totalQuestions); + + + + + + do {if ((index >= 0 && index < totalQuestions)) {} else {UnityFail( ((" Expected TRUE Was FALSE")), (UNITY_UINT)((UNITY_UINT)(24)));}} while(0); + +} diff --git a/build/test/dependencies/test_timequiz.d b/build/test/dependencies/test_timequiz.d index e204044..4089084 100644 --- a/build/test/dependencies/test_timequiz.d +++ b/build/test/dependencies/test_timequiz.d @@ -1 +1,4 @@ -build/test/out/c/test_timequiz.o: test/test_timequiz.c +build/test/out/c/test_timequiz.o: test/test_timequiz.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/timequiz.h diff --git a/build/test/out/c/test_timequiz.o b/build/test/out/c/test_timequiz.o index f1baf79be8c1086e78b03d8e799c0807ede26097..6cb41f6498a4ecf5021a7793c76b52a2bc1a3b54 100644 GIT binary patch literal 3560 zcmb_eU2GIp6ux(UcDHN`+ZK?bq*E+E5_Wb=m(muCOUu$WK`f;k#6aro?sRwJcDByU z!cx&R)}RDPiivMc)F%>O^jQ;A1ChiR(I;b~;Xx7~eDIOPMm*=4 z_nvcq=FBZz+f0z&*+j^0CP_qf^qRwD&K96MArR8s#B~umg-pDz7BolWrVV+TOsuFm z+uji1Iu;ODYn<>o@ZE#BK}wTkTAgdebpzlb;10O?VaIS*BTfOkgvkd8@=GUD0RxCD z(7FNlo;zO%^fXBiCwh*6RHs>p`5WL?TwDZPX%ZVw92%&DK>7jN8Jr|Q443K+SO`gi zwmVEn49)@xrswk=?q|BkZh|lgxNaB6*9&ov;0*sxEN*{K1Lzmfeueph#Bc+R>zx3= zSGdRk;r?aEu0LA3csJ0EE&eevc0cm~fzbct_7C0uceno&`}>(yT*r;<>e#K!gR$%1 zFz@xuea1Z?f}r(Eg6S+prx_JdlMJ$Qb~{{kxux1M3f^Rq6NW( zcuT_`Z#yml`vqt*XiBCwr{^8LpiE6>Gs-#5R!$y2bv6SoMq7bD0TKzV#hSyBCCcq< zu8ki@LjUI2HGy5WmXL%8`7I3O!-zL7m>0VK>p1?!5@NaYts6HBjzByE;>(1x@R8Be zS!JZ>h|<%erqrYopLMFHK2+3A-7@l^YF559RO|1H_obA0k?h*#2JyNDPk^4%P`;#D zL^_X3BwVhTMTN1dX&XfocGNH(@W^!!GYDb3RIwbT5hlsZDRDHH!)qWsMx!wz6)M$S zStnGIX37-}BE}>Z(Y4E1r65^1Czdm%5q}nL5M-Vd1`cIUk58SS&W@j+>PwN2l^K{I zU?X>S_QD}cqrjT7rr}&UsTpM=yd`YA3MPRfI}eO(D(cRpW)>>5XR5mG7!`BeEa){N z%JLm>e}+KDP$SG1bpSZM!8jTVtv!Cayax_g)a*C(f)~Ult!NZ(r$wjYXyv-S4Fd_c z%c8;Z*v8coX-45NjA_BOHj%KSYu1U%Ws@|A!GPrTbUAG6PIk^W_yS!fw3|eu$D$(K zHbExi?T}fDh>^iAdNexF)imBNz=tgDWgdA8iFQR06WY!&0$`%3hgI@Yhd(N`ucMW= zh0{CcJK*bWrF$anQL*#cPBg}zfoxUE(9xsvKy+Wn`?TZ54hpku^6fC~zK-#BZjLsZ z`P5h0h-OO1+i_@17i5@-!m1BKgKYuwzF(%W>cOQ({sE{mVAIf3O8?s2f*sxkXdrY- zhd_P>+7z^9XaemNwn(3VM880`0!;W3m?*cACLSBK9Wp&7Z+i*({$p~}qOiYRZoMqa zk>`mZ(a;QV@m-lRB{C$0A=t>^g{-Yx_Jujk&TAK(k{*AvYRub?X4wRoJ&0XnD#%q14MA^tCEKn0geb!F&s!27;#k{T;%7$5tC)M5_ zwI^{&hmXKYRPkd;*jAokTN{0?&d}5FLF$&Nm2I^|{8US1bYx^u+5fU(j-HF3gK7mu zYq~ELujVZ$K3B1gTHMx42bEmaC_75-iZX2J`I4iYg|88|@Ua_+@(T*Chb_u{{c+we`pCB^rmtqod~MMp1XcZ1tr z1)bY&`nVW)#BdQd=Fkw*+6cIE6?TkVC6e@I?z-0+_nblY*~V9Q{;G;3bQ zL$#pis>SIUOPkd_#V}_oo~-3^mVU|CEX^$Hwx>cB^9R|E6*NyXogGs5{QNwxXB+&v R|F;}4pS6KEh*^J{`~w{)5gh;k delta 207 zcmaDMeUnu(rH!2d1U4`-Fz|p`tPFZ3sTCy?9pxulgfQuw02!0tGIB5(nt@pF7}-UQ z%)ts_gb|RT!#FvMQAr{I$czJ;gbW-Q0vsmaV>g<-n?Ete`U*m$T4#>w{F5|jD4 t-6saH@S8ye*?=@NqtQf1QDrx%5Xh0tjP6h#f(m3{m@Lg}Jb4YTGyt0MA1wd? diff --git a/build/test/out/c/test_timequiz_runner.o b/build/test/out/c/test_timequiz_runner.o index dfaa1c593afd394cc424c9e3c53877d8a47155ea..00aa4a809e47eb8179b59daba6ca930aa3a49071 100644 GIT binary patch literal 6638 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 VZhvq~L=I2BuO$+BPDh@}{{zWkpl<*G diff --git a/build/test/out/c/timequiz.o b/build/test/out/c/timequiz.o index 26483004fbb2631dfd4d85e760aa8fc649f5c13b..85f7ee574d6385523532f3c331a876c6b837bd93 100644 GIT binary patch literal 5083 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 diff --git a/build/test/out/test_timequiz.out b/build/test/out/test_timequiz.out index d00c64d2bc660d89c5c7353c5bce057f90c091f9..f9f86302aa73d7af41ee6f7938c2e1dbe135776f 100755 GIT binary patch delta 33074 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 delta 26625 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

g8{lx;LKnRs68r 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 diff --git a/build/test/preprocess/files/test_timequiz.c b/build/test/preprocess/files/test_timequiz.c index e69de29..cb30133 100644 --- a/build/test/preprocess/files/test_timequiz.c +++ b/build/test/preprocess/files/test_timequiz.c @@ -0,0 +1,47 @@ +#include "src/timequiz.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_getRandomQuestionIndex(void) { + + int askedQuestions[10] = {0}; + + int totalQuestions = 10; + + + + + + int index = getRandomQuestionIndex(askedQuestions, totalQuestions); + + + + + + do {if ((index >= 0 && index < totalQuestions)) {} else {UnityFail( ((" Expected TRUE Was FALSE")), (UNITY_UINT)((UNITY_UINT)(24)));}} while(0); + +} diff --git a/build/test/preprocess/includes/test_timequiz.c b/build/test/preprocess/includes/test_timequiz.c index dcd024e..3036273 100644 --- a/build/test/preprocess/includes/test_timequiz.c +++ b/build/test/preprocess/includes/test_timequiz.c @@ -1 +1,3 @@ ---- [] +--- +- C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h +- src/timequiz.h diff --git a/build/test/results/test_casualQuiz.pass b/build/test/results/test_casualQuiz.pass index e85cee3..1766bda 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.01796970000032161 +:time: 0.014249100000597537 diff --git a/build/test/results/test_quizduell.pass b/build/test/results/test_quizduell.pass index fb42ca9..e93e0e3 100644 --- a/build/test/results/test_quizduell.pass +++ b/build/test/results/test_quizduell.pass @@ -11,4 +11,4 @@ :failed: 0 :ignored: 0 :stdout: [] -:time: 0.014309700000012526 +:time: 0.0164414000000761 diff --git a/build/test/results/test_timequiz.pass b/build/test/results/test_timequiz.pass index f929b3d..74ad0af 100644 --- a/build/test/results/test_timequiz.pass +++ b/build/test/results/test_timequiz.pass @@ -2,13 +2,17 @@ :source: :path: test :file: test_timequiz.c -:successes: [] +:successes: +- :test: test_getRandomQuestionIndex + :line: 16 + :message: '' + :unity_test_time: 0 :failures: [] :ignores: [] :counts: - :total: 0 - :passed: 0 + :total: 1 + :passed: 1 :failed: 0 :ignored: 0 :stdout: [] -:time: 0.014682400000310736 +:time: 0.02380760000050941 diff --git a/build/test/results/test_wwm.pass b/build/test/results/test_wwm.pass index fdf9ca4..a34f8fa 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.014739700000063749 +:time: 0.014939400000002934 diff --git a/build/test/runners/test_timequiz_runner.c b/build/test/runners/test_timequiz_runner.c index cab2e2f..bd1bc90 100644 --- a/build/test/runners/test_timequiz_runner.c +++ b/build/test/runners/test_timequiz_runner.c @@ -10,6 +10,7 @@ char* GlobalOrderError; /*=======External Functions This Runner Calls=====*/ extern void setUp(void); extern void tearDown(void); +extern void test_getRandomQuestionIndex(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_timequiz.c"); + run_test(test_getRandomQuestionIndex, "test_getRandomQuestionIndex", 16); return UnityEnd(); } diff --git a/test/test_timequiz.c b/test/test_timequiz.c index e69de29..7eb6cab 100644 --- a/test/test_timequiz.c +++ b/test/test_timequiz.c @@ -0,0 +1,27 @@ +#ifdef TEST + +#include "unity.h" +#include "timequiz.h" + +// Test setup function +void setUp(void) { + // This function will be called before each test +} + +// Test teardown function +void tearDown(void) { + // This function will be called after each test +} + +void test_getRandomQuestionIndex(void) { + int askedQuestions[10] = {0}; + int totalQuestions = 10; + + // Call the function to get a random question index + int index = getRandomQuestionIndex(askedQuestions, totalQuestions); + + // Assert that the index is within the valid range + TEST_ASSERT_TRUE(index >= 0 && index < totalQuestions); +} + +#endif //TEST