From a4d4537ae0abf81a9d6ba6c652ef074fa002dbab Mon Sep 17 00:00:00 2001 From: fdai7782 Date: Fri, 9 Feb 2024 19:09:20 +0100 Subject: [PATCH] added unittest to check wether the performOperation works when dividing by zero --- .vscode/c_cpp_properties.json | 28 +++++++++--------- .vscode/launch.json | 24 +++++++++++++++ .vscode/settings.json | 13 ++++---- src/main/c/programmingMode.c | 1 - src/test/c/test_calculator.c | 7 +++++ target/test/cache/test_calculator.c | 18 +++++++++++ target/test/out/c/programmingMode.o | Bin 8080 -> 8000 bytes target/test/out/c/test_calculator.o | Bin 19888 -> 20240 bytes target/test/out/c/test_calculator_runner.o | Bin 14488 -> 14744 bytes target/test/out/test_calculator.out | Bin 90008 -> 90144 bytes .../test/preprocess/files/test_calculator.c | 18 +++++++++++ target/test/results/test_calculator.pass | 10 +++++-- target/test/runners/test_calculator_runner.c | 2 ++ 13 files changed, 97 insertions(+), 24 deletions(-) create mode 100644 .vscode/launch.json diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json index c11401d..a50e8e7 100644 --- a/.vscode/c_cpp_properties.json +++ b/.vscode/c_cpp_properties.json @@ -1,16 +1,16 @@ { - "configurations": [ - { - "name": "Linux", - "includePath": [ - "${workspaceFolder}/**" - ], - "defines": [], - "compilerPath": "/usr/bin/gcc", - "cStandard": "c17", - "cppStandard": "c++98", - "intelliSenseMode": "linux-gcc-x64" - } - ], - "version": 4 + "configurations": [ + { + "name": "linux-gcc-x64", + "includePath": [ + "${workspaceFolder}/**" + ], + "defines": [], + "compilerPath": "/usr/bin/gcc", + "cStandard": "${default}", + "cppStandard": "${default}", + "intelliSenseMode": "linux-gcc-x64" + } + ], + "version": 4 } \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..4a9efca --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,24 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "C/C++ Runner: Debug Session", + "type": "cppdbg", + "request": "launch", + "args": [], + "stopAtEntry": false, + "externalConsole": false, + "cwd": "/home/js/Desktop/caschenrechner/src/test/c", + "program": "/home/js/Desktop/caschenrechner/src/test/c/build/Debug/outDebug", + "MIMode": "gdb", + "miDebuggerPath": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + } + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 355d4a1..f168e7d 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,8 +1,9 @@ { - "C_Cpp.errorSquiggles": "disabled", - "files.associations": { - "testforoperator.h": "c", - "testfornumber.h": "c", - "programmingmode.h": "c" - } + "C_Cpp.errorSquiggles": "disabled", + "files.associations": { + "testforoperator.h": "c", + "testfornumber.h": "c", + "programmingmode.h": "c" + }, + "C_Cpp_Runner.msvcBatchPath": "" } \ No newline at end of file diff --git a/src/main/c/programmingMode.c b/src/main/c/programmingMode.c index b96b77c..7457a95 100644 --- a/src/main/c/programmingMode.c +++ b/src/main/c/programmingMode.c @@ -38,7 +38,6 @@ int performOperation(int num1, char operatorType, int num2) { if (num2 != 0) { return num1 / num2; } else { - printf("Error: Division by zero\n"); return 0; } default: diff --git a/src/test/c/test_calculator.c b/src/test/c/test_calculator.c index dde64f2..641fceb 100644 --- a/src/test/c/test_calculator.c +++ b/src/test/c/test_calculator.c @@ -192,3 +192,10 @@ void test_performOperation_Division(void) { // Assert TEST_ASSERT_EQUAL_INT(4, result); } + +// Test case for dividing by zero +void test_performOperation_division_by_zero(void) { + + TEST_ASSERT_EQUAL_INT(0, performOperation(10, '/', 0)); + +} diff --git a/target/test/cache/test_calculator.c b/target/test/cache/test_calculator.c index b5bac52..3289aba 100644 --- a/target/test/cache/test_calculator.c +++ b/target/test/cache/test_calculator.c @@ -500,3 +500,21 @@ void test_performOperation_Division(void) { ), (UNITY_UINT)(193), UNITY_DISPLAY_STYLE_INT); } + + + + + +void test_performOperation_division_by_zero(void) { + + + + UnityAssertEqualNumber((UNITY_INT)((0)), (UNITY_INT)((performOperation(10, '/', 0))), ( + + ((void *)0) + + ), (UNITY_UINT)(199), UNITY_DISPLAY_STYLE_INT); + + + +} diff --git a/target/test/out/c/programmingMode.o b/target/test/out/c/programmingMode.o index 8217c85f1bc95e7b93975578606156a869a1ee88..55810a2c546417e96e6a4eaa70e90ff2bb8197cc 100644 GIT binary patch delta 966 zcmZ9KO=uHA6vy{XnwV&^Nm|qGCTTwK&?ZH6sco#qE>%JiL7^aqTCqY81}U_V`f;cR zQj6GwvF{)~i0wt1gGg9NPeMaIDHQSJCiEP0u@JCAK;P_cB<#R@J8ysg|C`y_DXKeT z#eT?_6CP00g~O9MnbPCY!eKHe6%Gd$mDOv_)pP?s*GE^=&4F~IK1fgRJDMa5OAR6C zqH_KBQllQymf;7ug|>k=Z3EhdZ4f}jZylR3h4<`n?^G;98untEap?_wV?P1Y_|YB% z1?%=O45HH!85#1ltA@q9y63v?NttX$ug;m(tX`eRTaF0iwMUL9W1L0Se~mG3zUN!vY>0x72YA~r!4p*clKkAFxok*;mt1q{ZChs_kyhtzi)+?& zeQ4A3!*A)oV3pR|Z=;?z%J6`wTR$=S7ex4OD-?Xl81IziJ`4S1K;eu|FIeclNw4ZO zW1)XcI)i2Ee8)nMo4Z`py#))6ncgD$yCnI&N%?+7iq`l3#Brj6%@A`DpN5Q5aB2%( zM;Pql!@vaWVKs0HCh>ssoEGoiX8(WshNkIJvF5=^;@UW0DoLNLXy=ywZu zg7YwfN+<>Em<_3L7E6?mVU6+}Cc-LYFdJ4~ubhTi#&S3XPq9X%f{9)gvY4fO6idA- o8+P*xyB6uEK8c9#rFsO*=B$>^ACtH)^f70bcsKbz9eO#lD@ delta 1097 zcmZ{jYe*DP6vyYxx|<98nhl$sb$4BnYSmtpxmw{!wrE0v&_nTo+Y>2T-Lw~q#oAg) z`8a)92z9?i-%^IC4}PdG^`QtK1RC{Wi6B^rf(17a>fV`aECU_5=iYOF|8wTdojb2; z#^vzPO5^v zCOT2;C5Re4eo0npjSBo}^i@|{bL$3ev<^RUN>x-b)}=-VS#(y7YOvnqgE8g2sfg#j z1{ADYz=c!!aicJ4bbV8{nVkkA#Ql~L`xt$4$mWRibygD}SKe7Z0*qnOwp|LdzBc;1 zPn1p$xFscJn+B-D+YT{Y%S3qu3S_MR(X5H>(}pNJLbV;l#$SZm4VsvW=(11?IZ-LzyorY;EG?*qFW6hK8^V|*en43)c)|a>Br{A;^XXVp zk}jG4CMhXsp0#Uq1&iH5zC*o{*yHYjW=y$*Fo#m140o}W_!3MIe+O5Ie~OYvHb2kT zl06vq1Yrde9vK#KmH1(lyfSRXR!z4<>vv@37-1 PUyV8I(&{Z^*j@A&nilT# diff --git a/target/test/out/c/test_calculator.o b/target/test/out/c/test_calculator.o index 4ed0c1330950e0e18ed0136679d5ba225db4b5f3..1761a8b2e3e28b3179dccd05af50c77d1a40113d 100644 GIT binary patch delta 3194 zcmZ`*eQXnD7{B+{Qm)A8mD=mc*at3Hig8TXTDGpG0}^{0nyYY zfG`tXc@hM{!C2I2LS#0`0L3hbfOCZ5#~+A>25>`-GEiYkg758~mp`6_H`#Od{(isb z^S!(E;BMB|&f5I)Q$|4pVv3H0Fv}7m4k$nRiEUE5+~Oo1rr^zz)J$ZhwT~ z%wO48aAjP84Z%29fMr1mx8+dJZ6maC`z{>g_B8y$?M+bC0Lz9jw+1Zbwh6X#yB9v^ z_G=jA_HP*P4zR}{;tsL-(9G{Q!G3N(PW8E4n4DH%sNBmusihu=JjOmfYPWB)GkLlP zR(f|h8td1rUC~sS%FyC=aA$d4OB&WStZ7)avTpH)x{dXXtDwX8Ak6aFQp>Y4h zO(Lb{O+BgT$53fbGHNEdYpn~wilXdKh!r*KcX?EEg{+HYo}GCj-Oyj8=?6v*L6WKo zTMevO)6b#r0>bt{A!ols-v+|2f<>I&fb1)T9Scd$rVwo<>`mz5tY)|1cL+NGL!1SS ze2B2GL0(YPJy`Px$=Fu#+8e44j&Tbt57&o z(`R69-xGEMEaGfCvJ7L0ehVPU*$s$>30ng_oSllkjfC9+L!1p`{htulfV>h-zlPP^ zAnabK|KAT4Fz8g;y8B`>^Xz5jO{D zX73$s5q(52;#?&7VVro{!r_sy3d_PS!brBhB zFyhSnc*P0+JN8=*JrOOjgs>vl8iK!s`}KGg*>_{Kw}@WEX(#y4sK+yeXQQfqlxT$S z8EA=W##xea0H24e_wo9R;Jfgoh9Mo*60VV-7t+1|Ya&+;!BxzXkGSY}I^v~7FXB`X zJdD-USU5D#QWGx{jqqJd@Mg@l5phvN0y|0)y@<1q;0c`hdln9kn40*EXoPPs!GFVC z=MWb)^qMz(4G_JE^AEvmEV=Zbg~Qu1)o|lCfIjEB1W%%G0l`1Q`OJW!n3kv{tf=I9 zg0IAB)FCc9YQ!w-h+f3mOz;@$TP+-3e?qPAAR6I&kl>5(sW^nVs9_AoJWce&cnWols#! zl&$6g@O252M$kE}*xLCs;k;4ImVr_cWp9E}5tW~t1FaPi<+%A9o-ZHtR|Ms)bHG^{ zQGW1R;2%(18Dw9=w#q2$g)@~=`BwHw?%XOryA4KF)alEyq&^#LuPSz~pKEQU3^-p^ dtW0~@+Qvbx4l3*M<9z~Z&0XB$zJ>mH&i}B;l|TRh delta 3061 zcmZ`*eN0sl}j)5&Ax*;aG#8IEq@rN=ZWHWv&o6$I(PJ+ph{bP-?IsWl<_gs^mWH;$~@BV(j z^Ks9;eYt(ZV*D-9SD^h_6?IMMkZ<21rlHrKCq~SZ_ElD=)q-OpZsMa_J}hFW4VG58 z#8FtA;u2p#W6FZ~5d5hwaT#`@wZaj!ZukuCBQTHl6-alu#5e@d{tUa(Cc&F%Jur#( zF<3x*5HizT;v*WO%Pr?+k*D3ECj7@6W$Yoy+hjPKlO#OD*kou#)=haA82c1-BRfFdSY&Ju zM3G&h6=|eWy_$eoWZ$Q}D;Qe`juON98~Lte>;i<4eUaF;jQt$iOWa}xj+Yq1gozTj zGl!HdOgRjq)Q!i^Q))OniJN4a4X_Q_^xLP~V!6)P0q93|9rf0rKB+af!xXYrgg(sJ ze25|YIz>Ff*!v-Gv*BD#{kg>0S!hIdkk*w(`BmO6(2Z=b%FEb(h$4GQ1S0lNe8Uu1d}Cz1TrRvlAw`Gj*=L!QELtKtn+zC{fGo%*nma8<)Ugol}4#d(zB6*PZR zK4D9lBhtk*%J)@<|3JA85w2n>i)=);EsMDyy6Y+DWacg6;~#`8Z>hR~tkt zjGBEcSr#Shy^GgThL_S&cpDs*c)4S2jGBAe3{~D^HTPHhgcyNnjZfdYUM4yVu^OK? zcl)A=*T(|&dH`SNb@-q*pjXEmhvPiNYJK+XjdFH#ITY71}4qDhbh=zTl6#fVY@y1(NAJp1%+n#4Rvt!8_xSgXZ8lb9y$Z9mdlrAmE)RnZUMRA>=XlNN0itY7+} zQ0x3uDT+l96~y#{;sb0Iv8ed|(Jw{t0e)z~7bPv}Zf&WfcTmpR_4hANKj$1m6 z>pf@Sk@?Nj4ls_H7zY=oeS08`?|jG1-TwRbfcn+475I0K-&|aYp2-5c(#hS9#hy+vQH>@!Xb-g zY)HYkP`1+u)m%TPu*<2Eix{ou`BxOyg{f*@(oLCfDeMo5y@P`y^Mt~FBK9$k3-+bL zj#w9$vDf%jux}Lh0M+~+OF~@#tgs!Fc@o!zc>Yg??ZUwj$KxTFZYRIonQX|}m{CgGu z9uXsDAdBPqaK1jQ#OCh)1$-9f`Za}ZqaAM{M7aJ$VVj73iBZ9RP}t|x^Ut_F!ds^l zc01LayT`e2l>eR-P94pi%OLGF+Z>PVvx&E)A!fKIinGo`*cUT2aEM1Ch+{!JK8lq( zTyh6&E-XM-yxeVB0_ewvxZyq`e|sSj>=V|uvaHpM*W(6U#jo)u7{F-lB3Ov&+D7+n zdKJBRy|x~rI4Q7){%p)4Y^XD|6*Dkh*9fmLQ`e+9g8%FA8l{>mh&4u|RvyH((F8R( lYBaj%@@(`*{AC#KUhDB?Y&AC2*Slg_>IG(k1-LTi{Raz delta 1455 zcmZ{ke@IhN6vy9vdvkkp6K%NHBh!S^Ih<~~`8F%3iOBi^Wr_(E8A66&YC@XO4-hG` z(hh`w*v|!p{p0pR5Q5Ywj6ksb%fA|dC={gsr2k0wy?5px7rKAkd(ZcC&OPUz?cK4f zW8EV~q%7`92$ofjj&mPXlld%94!|8tK8dLlmcu;!784`~p4)O851Kg6u1#FpJvtFB zBwe5Fd$c{dWS-Gh9D|xC9b`O5UyeC+lTL4OL&hgzSGupYE(J1ofbM%JrSIR-)3sei zO4luFka2xi{vX{7vGix;t6FPsBYaGNq{BthV8+o!yx`9mRzGBX65xKGsJ?Ta=2fdp zAWpsbx{S;rzSfau8Zg-{R!El1YDn70lR>pbwwTnuoLrN&sq=Dge_dyr`Z=$`;&>t$ zC1{JHHWhXdvIMhkiT@+0%kCS5c%a4ekl55Uk3vW(4*^PB1iyv6GB` z9CJ-E`d>WlJ&e*^a|~TWIuEmyE->_^{#WC;C0M6)nV|z%$q&dck>nMIw&Tga;1s1B z483ABhTDYOlx{P$8Dj;Amq<|?TB%>E3-j(}^f}ZE82t#^HIP**-K=NmCPtlL^m^>) z8Pv5_Xl3SMPdXTXg8n^>e=pwjuA#&0(k%Hg6WfUQkHKQ8B*z)rfElNN_$2uYLnBBR zz)xwCq2KW26=?NI(Jh8nV$IvAr|#&%nzOJssm_mLE|)s%yJjLW2nQ4~GtcmDhyH-V z|J1*Am=Czkt6DTH?skGT=oWR03e6A>Dq_T91QkI)wfYJS>jF#%719pt!3e1Ve?>L@ zUVAF4#BO}YY%pCBB0kul+CYX8(*j{d;g_7yqg0WL5LY7ngKX`+0c*(3k7PqxsEVJ= ohMrJ__#qLh65qIt$ZFUMDdMXBkaAohgu@}R%s}5cs0`%(12cod1^@s6 diff --git a/target/test/out/test_calculator.out b/target/test/out/test_calculator.out index 5c3f8d452b5df660eeb64c8b0d013f92182c3b44..eb060c8e67f71c56901ae238bf282fa81aa772ed 100755 GIT binary patch delta 28677 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 diff --git a/target/test/preprocess/files/test_calculator.c b/target/test/preprocess/files/test_calculator.c index b5bac52..3289aba 100644 --- a/target/test/preprocess/files/test_calculator.c +++ b/target/test/preprocess/files/test_calculator.c @@ -500,3 +500,21 @@ void test_performOperation_Division(void) { ), (UNITY_UINT)(193), UNITY_DISPLAY_STYLE_INT); } + + + + + +void test_performOperation_division_by_zero(void) { + + + + UnityAssertEqualNumber((UNITY_INT)((0)), (UNITY_INT)((performOperation(10, '/', 0))), ( + + ((void *)0) + + ), (UNITY_UINT)(199), UNITY_DISPLAY_STYLE_INT); + + + +} diff --git a/target/test/results/test_calculator.pass b/target/test/results/test_calculator.pass index 8999b26..7b87122 100644 --- a/target/test/results/test_calculator.pass +++ b/target/test/results/test_calculator.pass @@ -119,12 +119,16 @@ :line: 185 :message: '' :unity_test_time: 0 +- :test: test_performOperation_division_by_zero + :line: 197 + :message: '' + :unity_test_time: 0 :failures: [] :ignores: [] :counts: - :total: 29 - :passed: 29 + :total: 30 + :passed: 30 :failed: 0 :ignored: 0 :stdout: [] -:time: 0.001314320999881602 +:time: 0.0015222660003928468 diff --git a/target/test/runners/test_calculator_runner.c b/target/test/runners/test_calculator_runner.c index c2033f8..9459746 100644 --- a/target/test/runners/test_calculator_runner.c +++ b/target/test/runners/test_calculator_runner.c @@ -39,6 +39,7 @@ extern void test_exponentialFunction(void); extern void test_performOperation_Subtraction(void); extern void test_performOperation_Multiplication(void); extern void test_performOperation_Division(void); +extern void test_performOperation_division_by_zero(void); /*=======Mock Management=====*/ @@ -132,6 +133,7 @@ int main(void) run_test(test_performOperation_Subtraction, "test_performOperation_Subtraction", 161); run_test(test_performOperation_Multiplication, "test_performOperation_Multiplication", 173); run_test(test_performOperation_Division, "test_performOperation_Division", 185); + run_test(test_performOperation_division_by_zero, "test_performOperation_division_by_zero", 197); return UnityEnd(); }