From 72b672df8ee828cea4c21d7d7b10237bc17af0d2 Mon Sep 17 00:00:00 2001 From: Ulriche Nguefack Date: Fri, 9 Feb 2024 16:10:32 +0100 Subject: [PATCH] Test multiply --- build/test/cache/defines_dependency.yml | 2 + build/test/cache/test_cbrt.c | 47 ++++++++++ build/test/cache/test_multiply.c | 47 ++++++++++ build/test/cache/test_sqrt.c | 2 +- build/test/dependencies/game100.d | 1 + build/test/dependencies/test_cbrt.d | 4 + build/test/dependencies/test_cbrt_runner.d | 4 + build/test/dependencies/test_multiply.d | 4 + .../test/dependencies/test_multiply_runner.d | 4 + build/test/out/c/calculator.o | Bin 13248 -> 13880 bytes build/test/out/c/game100.o | Bin 0 -> 4120 bytes build/test/out/c/test_cbrt.o | Bin 0 -> 5864 bytes build/test/out/c/test_cbrt_runner.o | Bin 0 -> 9056 bytes build/test/out/c/test_multiply.o | Bin 0 -> 5832 bytes build/test/out/c/test_multiply_runner.o | Bin 0 -> 9088 bytes build/test/out/c/test_sqrt.o | Bin 5864 -> 5832 bytes build/test/out/test_cbrt.out | Bin 0 -> 61336 bytes build/test/out/test_factorial.out | Bin 61208 -> 61440 bytes build/test/out/test_log.out | Bin 61152 -> 61384 bytes build/test/out/test_mod.out | Bin 61136 -> 61368 bytes build/test/out/test_multiply.out | Bin 0 -> 59112 bytes build/test/out/test_pow.out | Bin 61312 -> 61560 bytes build/test/out/test_sqrt.out | Bin 61088 -> 61336 bytes build/test/preprocess/files/test_cbrt.c | 47 ++++++++++ build/test/preprocess/files/test_multiply.c | 47 ++++++++++ build/test/preprocess/files/test_sqrt.c | 2 +- build/test/preprocess/includes/test_cbrt.c | 3 + .../test/preprocess/includes/test_multiply.c | 3 + build/test/results/test_cbrt.pass | 18 ++++ build/test/results/test_factorial.pass | 2 +- build/test/results/test_log.pass | 2 +- build/test/results/test_mod.pass | 2 +- build/test/results/test_multiply.pass | 18 ++++ build/test/results/test_pow.pass | 2 +- build/test/results/test_sqrt.pass | 2 +- build/test/runners/test_cbrt_runner.c | 81 ++++++++++++++++++ build/test/runners/test_multiply_runner.c | 81 ++++++++++++++++++ src/main/c/Calculator/calculator.c | 17 +++- src/main/c/Calculator/calculator.h | 5 +- test/Calculator/test_cbrt.c | 26 ++++++ test/Calculator/test_multiply.c | 25 ++++++ test/Calculator/test_sqrt.c | 2 +- 42 files changed, 487 insertions(+), 13 deletions(-) create mode 100644 build/test/cache/test_cbrt.c create mode 100644 build/test/cache/test_multiply.c create mode 100644 build/test/dependencies/game100.d create mode 100644 build/test/dependencies/test_cbrt.d create mode 100644 build/test/dependencies/test_cbrt_runner.d create mode 100644 build/test/dependencies/test_multiply.d create mode 100644 build/test/dependencies/test_multiply_runner.d create mode 100644 build/test/out/c/game100.o create mode 100644 build/test/out/c/test_cbrt.o create mode 100644 build/test/out/c/test_cbrt_runner.o create mode 100644 build/test/out/c/test_multiply.o create mode 100644 build/test/out/c/test_multiply_runner.o create mode 100755 build/test/out/test_cbrt.out create mode 100755 build/test/out/test_multiply.out create mode 100644 build/test/preprocess/files/test_cbrt.c create mode 100644 build/test/preprocess/files/test_multiply.c create mode 100644 build/test/preprocess/includes/test_cbrt.c create mode 100644 build/test/preprocess/includes/test_multiply.c create mode 100644 build/test/results/test_cbrt.pass create mode 100644 build/test/results/test_multiply.pass create mode 100644 build/test/runners/test_cbrt_runner.c create mode 100644 build/test/runners/test_multiply_runner.c create mode 100644 test/Calculator/test_cbrt.c create mode 100644 test/Calculator/test_multiply.c diff --git a/build/test/cache/defines_dependency.yml b/build/test/cache/defines_dependency.yml index ec28db2..49576f8 100644 --- a/build/test/cache/defines_dependency.yml +++ b/build/test/cache/defines_dependency.yml @@ -1,3 +1,5 @@ --- src/main/c/Calculator/calculator.c: - TEST +src/main/c/Template/game100.c: +- TEST diff --git a/build/test/cache/test_cbrt.c b/build/test/cache/test_cbrt.c new file mode 100644 index 0000000..c7daba2 --- /dev/null +++ b/build/test/cache/test_cbrt.c @@ -0,0 +1,47 @@ +#include "src/main/c/Calculator/calculator.h" +#include "/var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h" + + + + + + +void setUp(void){ + + + +} + +void tearDown(void){ + +} + + + + + +void test_cbrt(void){ + + + + double result; + + double a = 4; + + + + + + result = cbrt(4); + + + + + + UnityAssertEqualNumber((UNITY_INT)((1.587401052)), (UNITY_INT)((result)), ( + + ((void *)0) + + ), (UNITY_UINT)(22), UNITY_DISPLAY_STYLE_INT); + +} diff --git a/build/test/cache/test_multiply.c b/build/test/cache/test_multiply.c new file mode 100644 index 0000000..817c4c7 --- /dev/null +++ b/build/test/cache/test_multiply.c @@ -0,0 +1,47 @@ +#include "src/main/c/Template/game100.h" +#include "/var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h" + + + + + + +void setUp(void){ + + + +} + +void tearDown(void){ + +} + + + + + +void test_mulitply(void){ + + + + int num1=5; + + int num2=5; + + int product = num1 * num2; + + + + int result = product; + + + + + + UnityAssertEqualNumber((UNITY_INT)((25)), (UNITY_INT)((result)), ( + + ((void *)0) + + ), (UNITY_UINT)(22), UNITY_DISPLAY_STYLE_INT); + +} diff --git a/build/test/cache/test_sqrt.c b/build/test/cache/test_sqrt.c index 2fc2a2d..10dde0b 100644 --- a/build/test/cache/test_sqrt.c +++ b/build/test/cache/test_sqrt.c @@ -26,7 +26,7 @@ void test_sqrt(void){ double result; - double a = 25; + int a = 25; diff --git a/build/test/dependencies/game100.d b/build/test/dependencies/game100.d new file mode 100644 index 0000000..e3fe8d5 --- /dev/null +++ b/build/test/dependencies/game100.d @@ -0,0 +1 @@ +build/test/out/c/game100.o: src/main/c/Template/game100.c diff --git a/build/test/dependencies/test_cbrt.d b/build/test/dependencies/test_cbrt.d new file mode 100644 index 0000000..e0d7702 --- /dev/null +++ b/build/test/dependencies/test_cbrt.d @@ -0,0 +1,4 @@ +build/test/out/c/test_cbrt.o: test/Calculator/test_cbrt.c \ + /var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \ + /var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h \ + src/main/c/Calculator/calculator.h diff --git a/build/test/dependencies/test_cbrt_runner.d b/build/test/dependencies/test_cbrt_runner.d new file mode 100644 index 0000000..85b6e36 --- /dev/null +++ b/build/test/dependencies/test_cbrt_runner.d @@ -0,0 +1,4 @@ +build/test/out/c/test_cbrt_runner.o: \ + build/test/runners/test_cbrt_runner.c \ + /var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \ + /var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h diff --git a/build/test/dependencies/test_multiply.d b/build/test/dependencies/test_multiply.d new file mode 100644 index 0000000..6af8f63 --- /dev/null +++ b/build/test/dependencies/test_multiply.d @@ -0,0 +1,4 @@ +build/test/out/c/test_multiply.o: test/Calculator/test_multiply.c \ + /var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \ + /var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h \ + src/main/c/Template/game100.h diff --git a/build/test/dependencies/test_multiply_runner.d b/build/test/dependencies/test_multiply_runner.d new file mode 100644 index 0000000..38d0719 --- /dev/null +++ b/build/test/dependencies/test_multiply_runner.d @@ -0,0 +1,4 @@ +build/test/out/c/test_multiply_runner.o: \ + build/test/runners/test_multiply_runner.c \ + /var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \ + /var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h diff --git a/build/test/out/c/calculator.o b/build/test/out/c/calculator.o index fe6dc14ebc74807f327d076d7c39e6c0c1bbbd9d..a5f276f561a147a13632d25f8cf79597819f085d 100644 GIT binary patch delta 2773 zcmZWrT})I*6rQ=ux_6i5XIa?0SD-Adz)Ey?Q6nh0+SVUPlg5@dL5l67q)J)98j0H2 ztUlD%s1}I03jrk`P@e-MwT#krsKm*AG=0nyWN#%rbCaEQp$LAl5SPpd$& zosSo8N0e8EMY7$T$(A&=o8yb>NzU))q{!0KNsimHReNRqM^lRk@68jY8A0^+=yMCV ze+-LBNP44ikwj($f$;_kSZjsTSSssFN-rjpC#1K5d0yUGlE)=z9gJq#)Pg%%MXv?1 z&znULY)mT;*v^wO@I1Z z%m%*^B*cu+jkd#tzp?{2$Y4`5MI-JU z^9QK2h!uMjUI`S6*&v&h&`GEY6vAzH5sXGM(pLg?#_~}XmdAQ}kJZITSQ>JjS&lnQ z2^7O@a6E_SASx{(=}+x-nRE(%T6WMrh=){z0v=|$<~e9Bvut@?2-&KwUWC3fi#@TI z%c6ESuC;41jqr#mDD;T7dICzzw>2C>bV6HQjsA~ld6E3&)wX^^Tva;)W93%+DDLHn zwz?Z}6Rl!hMBk5=8=gfqwNi^8LB9rQh4uV4ZM7HuSJ86A)zWxG?OOZ@?5K#s{c_WH z>3=Ij6&B=Hm<@L|tuEC1Lua7>Si@CE955EPQpMu($g9Yw*{HS#an%>K&lfaYsmW`{ zE(Fuy5~{y%YWgct|9y$4<_S9)iH{F8!l3w65%QUq_;ndhu4wo(h)-zvb!@}bBK=xI z>M_A%jqoiB5%!wngY$XFLnrqLi9%ncmD-@KEx#8p3Dk|grB7N0`3Q(Al-#($#4 zJ2C#M#GB{)r}{CW38{YE(eQrk$In`V2>K6UXt|YoqOsIt;1VCk|BhQd1_2H4z%0dx zt0q1`Jf_7rAzmwSa72B(Ue;pp2_h{Tu4;Qn!&PmEG#oojj%TF5s*D?zUt(^4$o!|S zJpV7lhr%6Z`u7!aniazLsaS+#Q9o>o1P!wgnj>)|A-)9caP-YL-EB zH11CDXM>F~7>ZWAgXPkjgV|`c;md)gF{Y9W&CHl9;e0Ia?#-1U+h8_UZPcuUrB!kF zjQB7Tatm6ks*SVxaK0*T^cBFb%zRhCKSvN-6*eXdpm|l?eZN3T+=ro6)$ZJg^tQt+ e^Cm6neFUYetKIcWrT0CwGA|L8-Y+l|Dft&3j#JbC delta 2205 zcmZ`)Urbw77(eG=|3eFH>E#M)tJ_)%vlJKw&AMSW1!E!_A3$AJ3~^wf$f7RB%}zIC zWF*plX6ix*+t6X65z-f<#-Lfu79WJhhfSl;B=Z6EY5Jh&-18k)PvV!{p8Ng2-}m?2 zbNa>j>XF$PTiv}9-*VW9kV_dSqY)T(N7ye8IPIQlbF;BRxPzr;uxPiLfEK9?&eI3ycDP;e{!2VF*!o$ zB1Ak!?kz=LtP%NH{#na)(U6+V^N~wx_s%SjGq;cL?;XO{7+m#TPnvKaXVvKYN!Lrkcq6Sm}uLEVP_}qtL*G`Oq7w_0Z4d_u6Go7AR_x2 zw`MZXCgWzLwpVI{#4k#tJ#gG>=7QFwuvW5RF}ZQh>Z%^cc)-#^m|E^%$dBQqtpQVs z-LzysuJ$b1Q7^0NvmYfp@%=GwrZxgW-ywe|sd7FLp$~d`JpBRIK!^htd`%&zht^TQ zgP#N&=@0Oe!Y#xDQ@$ox_gxl;h`K|x1@g5+G*G%(dyP7)ug%-&JafQL{;pCW@B%Hp z8BEjCH}&VKEzG@7La)&X^~nI#x?QE~#(oBUcP^KljolvlHT3Q}W@d2$-JC7N%^zL@ znT7RThWUzsxI8SEZEF!|)S#!qj3&(I(Ke=W9);nkVP+6Lu31k)KKe-iB%)tw*0-^$ z?-3WOn0rZ-#^qPJRMZoR89fLRo7zf%$G4t53IzE+?Zxvmd@lQ#8q)O<*iOGX?&!U6^(Dl;?^|&L+J3c#N*a= zCf;+HfbhdDMD0?CREZm=S`0IyS+Q4=fD7E3)~qwwY9Fk(7`elm6~|2`G+ccbuW7j2 z&uI;R4zuJDS0hum%c8_{+bung4xeid*eUr=OP~r}({NSjZyK%&{rx|9wF*zjUsa_) zTGOnQNpw?jv7Bq`Vjq}LZcEcfs7vnSzfbVrFyxc_*wuTXoJ_mIVnev>1hYNmTG}DC z1{i8jv4dVHw5Qp7J}C2LH4grcwCjpbQW7xKkz$*1C~)vk>wll0WVpe>j|1TEOtbkQ zJjs_Ig5rjQrOp^z3qrXw?b-~=5DQ@LNx81JNG%LQT$>F^Z4f@>+J?9+xh%ttJt_A_ MtJJO&-rC*&0(J`$B>(^b diff --git a/build/test/out/c/game100.o b/build/test/out/c/game100.o new file mode 100644 index 0000000000000000000000000000000000000000..e5e9330d5582d995ad9f4490273221063f9f56f5 GIT binary patch literal 4120 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 D8wQtG literal 0 HcmV?d00001 diff --git a/build/test/out/c/test_cbrt_runner.o b/build/test/out/c/test_cbrt_runner.o new file mode 100644 index 0000000000000000000000000000000000000000..dac5b906b16caf498007a8ad93e130fdd28a641a GIT binary patch literal 9056 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 literal 0 HcmV?d00001 diff --git a/build/test/out/c/test_multiply.o b/build/test/out/c/test_multiply.o new file mode 100644 index 0000000000000000000000000000000000000000..df9603ad5b87a31f249bdc28626801ebaa938316 GIT binary patch literal 5832 zcmbtYZERcB89w*gH(zcNrzvgIcB|WU&{g<4PSZ3gG$c)3oUMefT2KvUuI(G!U|(nV zqfHpvrWGN&N)W0^8)!eO4YcxO15HD0s1hKip#eW84IvHf$FymPAN|2crB$N>-uImM zI5(#^Vj4&CIq&`OmNY2Qo64)`cvuzJgS^*da#m>O@ZO!g#DZZqyy0>B3sqg)A-_ zt%GaoTvHcZd>)PCaW3hiMkpjX$LU|BOigkN% z4vqd(O&f*o@G;)N>j7S`4WFiKM#SAt( z2%Wl?H^xTLIIu&%Au*9axMP&_n&9=#jCGpqrXkcpY)8j+Lj&6S&Z*50!V>Em(7xU` zn22rPx*fsfCRi{O2o_pTT$@ZJ!0Um;4aP)51MdkQjk6eRT|Z=nM6apw7+iAQ(2YZ= z+}8#nHyQRJE@Ib1KXvS^Skauq%5GDu2?tmMboWE6Y1$`!z1YB9;8Fr&dn~N4YuojH zj-ZBEZMreQx_ci1V+y}!>AjYzH?BIfy=_&?6Kp;!?SnZ zc69o9@y=t%kLHSnxo^$gde@(l?{9-d`)cu9V5{t5!ojaBtTT8Ncgxx$> zNX=yTr?Odd)ErKwn||Qf2dlPYyY(`#mRqhJTpS-ukBz3%)l_=k@|K)(&22fYz)J_t z$+}ZX`&Ox8dm!|DtNcJ3vh(e--*VHQ4~l3d1m%Y1)ug!IazId?5Al(C=5u$CGtc%5 z3#{PO{iSKovt2*;-N0(h1rv@MqarTvBd@T35uHU?I7RnuO-@ip{)fSa?4vTn&bODcNN6oJ zm=7W1Gn}clns#QsV%7JLPfTPEx5`1&c6=|h&dMQ)2n_gzGIcyFKvTWOxM%}5Vht0iNGn+YK zI~7PEz;&PT+;V%v%T(0VxMmUN!FC<1;h8nYZl0MrklI}+1&$xkHcw{*&St+qGGY#o zeuH2*mhgs6!Vhm&I2!PXd<8Liy5U0si}v6hOj}H9Ti11VEyEeN4KVy+;nzp5FZqZ* z)7xC5wscF#_+o z3PT{q)~$i_OMaCMpKt3!`N%64ElYvwc!XFP&SJZsV);u!ZgG}YrFeZ*fSXGavgO8U1b_$!1TQ}A=-=i3VY4&fyQ|25%t1)n55 zP;l{hWb7dY?;!nC3VxRGA1nA9gg>s}y@Wrd;G1Y;KcnE2gukHRFOr|P75tlozpLPX zrSbfSf{zgYo`N4G{-S~}lK+nse2)BIR`832f2!bD$WNT)a{YXb`rD)8q@PsqOXPQ> zf(OKJQ}CYo(3*mnu92dH63yznA#;6@83}1;-W( z=0j7{Ff+}T`SJJR@0^qe#s^U_BhsZ-AH#+M5tkC*-16F6)3zHr`m`hmT^Hr zfzM!G;H#9!k@u;@ah;*h@LEL!c`hRzE^7SiL5M#8U;8nzRefSS8UGVSsIdHgkLv$< z>i_ffXu$p(@KgJL2r$(rK-P-_*%Kz?uVJPh} zf6QIYAMbh9Ct5yB@m*v>Mb)iH**|7KfL5UTy>Nui=j literal 0 HcmV?d00001 diff --git a/build/test/out/c/test_multiply_runner.o b/build/test/out/c/test_multiply_runner.o new file mode 100644 index 0000000000000000000000000000000000000000..2651296423be08529252a5e11381a84124d0e3ba GIT binary patch literal 9088 zcmb_hYiwM_6`s56yIyDGcOG_<#%rD-!n<}bAqgSb#PJJE%)^ER2+KaM?IpW+-MjZX zF$EfA6%hdfgg`}&niQ25iKd12N7V{d7PRG2sX`#3&>{+rXkE2bv>+N4P#Qaw(azcs;v0AJWpER!j_xRA! z4_`64ydn)%#77Uj%*^WI0-7(JI(zo)!h87mE3AWl^9Cc8xO^cl^nmxFhZXtgE3$Ho`5W_IL@MC(%-J`pGnT3N z+c4_&<QV!B4zevnD(bxiqVZHpUQCN@pDwB$RSq6M7jE%{6Auc9kD9 zy8bNyLl45^H2h>85Rqz~5m52fsLTifLl^-Wtr>wv8VYKWa*eFU2va6mMw8TJ%%P{F z*c2syf6ZlJ---@Hj~Gq+Krs)%W5r5@+KkZKM)*t61E`)dno(BDJ4y-5lHV((NhFxpVrAeHx((k+z_l(I!Ce^g3BDyNk)B$dAy^{+qx*9o%){H(&D zLLV6&w}T?*LCBm3s7|&G3nf@v4GhP4_&TW9D>b8BR{bqhERu0kYoWds3u4Chf!VRC&Y}qfzi-xT-eYW33jaQK(i+3i^f(X5>c(d z2%B1sV1plMrY?Ya)^d^b-%9P49Uh+-k zU%Z@_K@ffmKNGk&Lv9$x=MD9k!R*A%6od}BUV(Z}3K$)MMzyG68Jeh?#`BwPDZfJZUa_!EAF)^JMrI zvu?i`4#&*8k^NIFnC30FNOo}ULvva9b&vxA2zfAHOsDdrPS$ez9jEAsKF@J1+Z}@q zX>Y1vX*-dk-()$tiCJkRlF34^ zJ(>58-_V2lXCgsHQxpaKeDwN`v#kynNO3YYR7HXL6 z>W*F36YGi3Sa!DP#64UF;w7hYmX&AQN^7x4s&s;SZ(>uvVFLvQ+sn8~`TpRD;Jigx zzGNWC+LAD`mSd;#B|yYrU*ERqhVeAKq8=?XT|J&ud+yz|Dc0S43BjK<`rdc7J(E z*;COu8SY;-;vZ+vDF7f?<;xNen6TZH>3p_2pK#V?9{|=(_~m55_zuEd!eyIC4$9FZ z#g_#|^<6orZTf5yET0q^QF&0EKNo|b1=Tm%B76|EW;v@AEcbR0_Y=-K=LZRwr+AP# zzZ>Kh=(hyqnB*LQ{C@b!@kY>>9s#);{siFYCre!BoLGYYy(RD;E`iSjj{ZAnh~-=Y z>{miMF_?O+s!9i?-0kn@4%iJaS(^Be}BKV`EdMp=Xy61j{fm$fbmT}KCYFF@6hPB2oL_q#_F+c zoHmkxeEe~WlYki3dx+w`R>Nz^*_ej^o$$1VJER}c@YBS9NW(v)dY{s8n{ZqQF>#!` zlq!BgIpZnv|Eh+srvn78YnYgS2l@X>VUE{kL z45SY<{yXHK*E5diB=J7i_)n6~x4F!pRPIFs&1;S`OL!;Y%)goZ@cYO71o5|O{2vp4 zhvuKp=htie*AQIQQcn8qV|Nh=wOfKcV3~Z|60f-=p_6oZm+g zE6o<*S`c#AQTY^0j+IZvTz^&GQe6ci71B3mCqTYYF9_T&+5c5T*uzviW(Cfbk zFr;vtAj;HE#GWO_kK=d%*wyT>#>yZ)%S5G?+sg1a0k3BNPh6}a;r#X|w&VOeP{^{M zx88q<^A+ga7oZHgTA%+>vXA;~QRMz(_%#sFr*5Ahd*0`muiO6;3aX7?f-VT2B|{v) z7WlC}uOHRwMw2acC_O=e;kP-4q}$`1)P@)kcyDOo_)=<>hu(j<%vG~rp!naam`X{v F{|}^%n}GlT literal 0 HcmV?d00001 diff --git a/build/test/out/c/test_sqrt.o b/build/test/out/c/test_sqrt.o index 04d17ed621ea86482c53d2c4eb2425ea29551c0f..81128f839873fcfb68176a2e47bd8e29b6cbaa21 100644 GIT binary patch delta 295 zcmXBOze>YU6bA5nZqqh5RBe(bL2$58unvKWh!v{WOX4YdS`cs=Kb(jOK>1*k&rluLw*I38f|C{y+yR4TH72X8a5}H-qUO z^`93#q7L?jrzfs?Lj=9qsi+e5K}L?w5ysA}#Op%S78;47D`E-}Dq4D0P#Y=+`q=J7 zm)o1xjc6s~;wZ5JFO!31sP}mzy1iv~D?8B+BY0vw-#=@rQONw~TgXt#76y)mTPII12pvgtEZKMPTuCGN>;r_ZG@hc*%mqH( t8uj3%C2hlJpCDwnuw-9yeMwjF*%O2rDRc|(nFi_bvXYwc*&T%0;xFyKR&M|R diff --git a/build/test/out/test_cbrt.out b/build/test/out/test_cbrt.out new file mode 100755 index 0000000000000000000000000000000000000000..3cb78e64864c8b618668207111f8a54657726eb6 GIT binary patch literal 61336 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

)fq*tt~+@wrN;ZloBl&L8c#5L8JT@{GEnrdYl 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 literal 0 HcmV?d00001 diff --git a/build/test/out/test_factorial.out b/build/test/out/test_factorial.out index ca8671c644767bf8745514fcf31e759ccfdfda00..8a59acfa147a7444e76c01bfa9be24f1905467c3 100755 GIT binary patch delta 5160 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 delta 4864 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 lJ4LG_l&L+gtIyr{+;fJE&hz-a-}&C}d(ZE^ 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 delta 4886 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 diff --git a/build/test/out/test_mod.out b/build/test/out/test_mod.out index 9d2af7c8b6d7e796f73c25699323d22617553b41..b37fa74d5d6878aaa229de4f7a496e7cea4d1cf2 100755 GIT binary patch delta 5139 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 TRQ6_3>Dde|{1m-&_Llzxj+d2d delta 5035 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 AT>t<8 diff --git a/build/test/out/test_multiply.out b/build/test/out/test_multiply.out new file mode 100755 index 0000000000000000000000000000000000000000..a40b483968c866d126952e15cb9189b01f96857e GIT binary patch literal 59112 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

WE$N|7$0I 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 KMKMGrwf_y33r@cP literal 0 HcmV?d00001 diff --git a/build/test/out/test_pow.out b/build/test/out/test_pow.out index 5e6864d3ac561c0c292cc0ff31eb17a178cd7b3f..d7d206f06f9f5f46c8d46fa8b8cd3c6bcc2a2e79 100755 GIT binary patch delta 5234 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 X&LSlJl(gni{M97w@Hxu3diQ?;C9Jci delta 4883 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 T6jUzt|D&hw_g`trAF=-j2u$qZ delta 11598 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 G4EtXq!yT6Z diff --git a/build/test/preprocess/files/test_cbrt.c b/build/test/preprocess/files/test_cbrt.c new file mode 100644 index 0000000..c7daba2 --- /dev/null +++ b/build/test/preprocess/files/test_cbrt.c @@ -0,0 +1,47 @@ +#include "src/main/c/Calculator/calculator.h" +#include "/var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h" + + + + + + +void setUp(void){ + + + +} + +void tearDown(void){ + +} + + + + + +void test_cbrt(void){ + + + + double result; + + double a = 4; + + + + + + result = cbrt(4); + + + + + + UnityAssertEqualNumber((UNITY_INT)((1.587401052)), (UNITY_INT)((result)), ( + + ((void *)0) + + ), (UNITY_UINT)(22), UNITY_DISPLAY_STYLE_INT); + +} diff --git a/build/test/preprocess/files/test_multiply.c b/build/test/preprocess/files/test_multiply.c new file mode 100644 index 0000000..817c4c7 --- /dev/null +++ b/build/test/preprocess/files/test_multiply.c @@ -0,0 +1,47 @@ +#include "src/main/c/Template/game100.h" +#include "/var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h" + + + + + + +void setUp(void){ + + + +} + +void tearDown(void){ + +} + + + + + +void test_mulitply(void){ + + + + int num1=5; + + int num2=5; + + int product = num1 * num2; + + + + int result = product; + + + + + + UnityAssertEqualNumber((UNITY_INT)((25)), (UNITY_INT)((result)), ( + + ((void *)0) + + ), (UNITY_UINT)(22), UNITY_DISPLAY_STYLE_INT); + +} diff --git a/build/test/preprocess/files/test_sqrt.c b/build/test/preprocess/files/test_sqrt.c index 2fc2a2d..10dde0b 100644 --- a/build/test/preprocess/files/test_sqrt.c +++ b/build/test/preprocess/files/test_sqrt.c @@ -26,7 +26,7 @@ void test_sqrt(void){ double result; - double a = 25; + int a = 25; diff --git a/build/test/preprocess/includes/test_cbrt.c b/build/test/preprocess/includes/test_cbrt.c new file mode 100644 index 0000000..f2efae7 --- /dev/null +++ b/build/test/preprocess/includes/test_cbrt.c @@ -0,0 +1,3 @@ +--- +- "/var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h" +- src/main/c/Calculator/calculator.h diff --git a/build/test/preprocess/includes/test_multiply.c b/build/test/preprocess/includes/test_multiply.c new file mode 100644 index 0000000..e60bf2a --- /dev/null +++ b/build/test/preprocess/includes/test_multiply.c @@ -0,0 +1,3 @@ +--- +- "/var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h" +- src/main/c/Template/game100.h diff --git a/build/test/results/test_cbrt.pass b/build/test/results/test_cbrt.pass new file mode 100644 index 0000000..b51bba7 --- /dev/null +++ b/build/test/results/test_cbrt.pass @@ -0,0 +1,18 @@ +--- +:source: + :path: test/Calculator + :file: test_cbrt.c +:successes: +- :test: test_cbrt + :line: 13 + :message: '' + :unity_test_time: 0 +:failures: [] +:ignores: [] +:counts: + :total: 1 + :passed: 1 + :failed: 0 + :ignored: 0 +:stdout: [] +:time: 0.002984535996802151 diff --git a/build/test/results/test_factorial.pass b/build/test/results/test_factorial.pass index 02ae297..2836ba0 100644 --- a/build/test/results/test_factorial.pass +++ b/build/test/results/test_factorial.pass @@ -15,4 +15,4 @@ :failed: 0 :ignored: 0 :stdout: [] -:time: 0.0031587159901391715 +:time: 0.004264043003786355 diff --git a/build/test/results/test_log.pass b/build/test/results/test_log.pass index 97ef84f..fea15b6 100644 --- a/build/test/results/test_log.pass +++ b/build/test/results/test_log.pass @@ -15,4 +15,4 @@ :failed: 0 :ignored: 0 :stdout: [] -:time: 0.0032496520143467933 +:time: 0.0032400870113633573 diff --git a/build/test/results/test_mod.pass b/build/test/results/test_mod.pass index dc4c287..bf8198a 100644 --- a/build/test/results/test_mod.pass +++ b/build/test/results/test_mod.pass @@ -15,4 +15,4 @@ :failed: 0 :ignored: 0 :stdout: [] -:time: 0.003375619009602815 +:time: 0.0043334150104783475 diff --git a/build/test/results/test_multiply.pass b/build/test/results/test_multiply.pass new file mode 100644 index 0000000..1384372 --- /dev/null +++ b/build/test/results/test_multiply.pass @@ -0,0 +1,18 @@ +--- +:source: + :path: test/Calculator + :file: test_multiply.c +:successes: +- :test: test_mulitply + :line: 13 + :message: '' + :unity_test_time: 0 +:failures: [] +:ignores: [] +:counts: + :total: 1 + :passed: 1 + :failed: 0 + :ignored: 0 +:stdout: [] +:time: 0.00700880799558945 diff --git a/build/test/results/test_pow.pass b/build/test/results/test_pow.pass index e491e88..7059cd5 100644 --- a/build/test/results/test_pow.pass +++ b/build/test/results/test_pow.pass @@ -19,4 +19,4 @@ :failed: 0 :ignored: 0 :stdout: [] -:time: 0.0032642479927744716 +:time: 0.006334579986287281 diff --git a/build/test/results/test_sqrt.pass b/build/test/results/test_sqrt.pass index 4d5a622..b70f106 100644 --- a/build/test/results/test_sqrt.pass +++ b/build/test/results/test_sqrt.pass @@ -15,4 +15,4 @@ :failed: 0 :ignored: 0 :stdout: [] -:time: 0.003228487999876961 +:time: 0.0062521169893443584 diff --git a/build/test/runners/test_cbrt_runner.c b/build/test/runners/test_cbrt_runner.c new file mode 100644 index 0000000..497b150 --- /dev/null +++ b/build/test/runners/test_cbrt_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_cbrt(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_cbrt.c"); + run_test(test_cbrt, "test_cbrt", 13); + + return UnityEnd(); +} diff --git a/build/test/runners/test_multiply_runner.c b/build/test/runners/test_multiply_runner.c new file mode 100644 index 0000000..fca956b --- /dev/null +++ b/build/test/runners/test_multiply_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_mulitply(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_multiply.c"); + run_test(test_mulitply, "test_mulitply", 13); + + return UnityEnd(); +} diff --git a/src/main/c/Calculator/calculator.c b/src/main/c/Calculator/calculator.c index 55a8841..3589de7 100644 --- a/src/main/c/Calculator/calculator.c +++ b/src/main/c/Calculator/calculator.c @@ -14,7 +14,10 @@ double combination(int n, int r); double pow(double num1, double num2); int mod(int num1,int num2); double log(num1); -double sqrt(num1); +double sqrt(double num1); +double cbrt(num1); +int multiply (int num1,int num2); + int calculator() { @@ -102,7 +105,7 @@ double sqrt(num1); case 11: return num1 * num1 * num1; case 12: - return 0;// cbrt(num1); + return 0; cbrt(num1); case 13: return factorial(num1); case 14: @@ -170,6 +173,14 @@ double log(double num1){ return result; } double sqrt(double num1){ - double result = num1; + double result = num1; return result; } +double cbrt(double num1){ + double result = num1; + return result; +} +int multiply(int num1,int num2){ + int product = num1 * num2; + return product; +} diff --git a/src/main/c/Calculator/calculator.h b/src/main/c/Calculator/calculator.h index 8c16e13..73ab918 100644 --- a/src/main/c/Calculator/calculator.h +++ b/src/main/c/Calculator/calculator.h @@ -6,6 +6,7 @@ double pow(double num1, double num2); double factorial(double num); int mod(int num1, int num2); double log(double num1); -double sqrt(double num1); - +double sqrt(double num1); +double cbrt(double num1); +int multiply(int num1,int num2); #endif diff --git a/test/Calculator/test_cbrt.c b/test/Calculator/test_cbrt.c new file mode 100644 index 0000000..c64d19c --- /dev/null +++ b/test/Calculator/test_cbrt.c @@ -0,0 +1,26 @@ +#ifdef TEST +#include "unity.h" +#include "calculator.h" + + +void setUp(void){ + //Wenn Funktion Vorraussetzungen braucht +} +void tearDown(void){ +} + + +void test_cbrt(void){ + /* arrange */ + double result; + double a = 4; + + /* act */ + result = cbrt(4); + + /* assert */ + TEST_ASSERT_EQUAL_INT(1.587401052,result);//cbrt(4) = 1.587401052 +} + + +#endif // TEST diff --git a/test/Calculator/test_multiply.c b/test/Calculator/test_multiply.c new file mode 100644 index 0000000..21a1e11 --- /dev/null +++ b/test/Calculator/test_multiply.c @@ -0,0 +1,25 @@ +#ifdef TEST +#include "unity.h" +#include "game100.h" + + +void setUp(void){ + //Wenn Funktion Vorraussetzungen braucht +} +void tearDown(void){ +} + + +void test_mulitply(void){ + /* arrange */ + int num1=5; + int num2=5; + int product = num1 * num2; + /* act */ + int result = product; + + /* assert */ + TEST_ASSERT_EQUAL_INT(25, result);// 5 * 5 = 25 +} + +#endif // TEST diff --git a/test/Calculator/test_sqrt.c b/test/Calculator/test_sqrt.c index f89126c..291b070 100644 --- a/test/Calculator/test_sqrt.c +++ b/test/Calculator/test_sqrt.c @@ -13,7 +13,7 @@ void tearDown(void){ void test_sqrt(void){ /* arrange */ double result; - double a = 25; + int a = 25; /* act */ result = sqrt(25);