From 512e9e7b7a1e196a8728d470b761c0201975a75f Mon Sep 17 00:00:00 2001 From: Ulriche Nguefack Date: Fri, 9 Feb 2024 16:21:51 +0100 Subject: [PATCH] Test divide --- build/test/cache/test_divide.c | 51 ++++++++++++ build/test/dependencies/test_divide.d | 4 + build/test/dependencies/test_divide_runner.d | 4 + build/test/out/c/calculator.o | Bin 13880 -> 14248 bytes build/test/out/c/test_divide.o | Bin 0 -> 6016 bytes build/test/out/c/test_divide_runner.o | Bin 0 -> 9080 bytes build/test/out/test_cbrt.out | Bin 61336 -> 61464 bytes build/test/out/test_divide.out | Bin 0 -> 61488 bytes build/test/out/test_factorial.out | Bin 61440 -> 61576 bytes build/test/out/test_log.out | Bin 61384 -> 61520 bytes build/test/out/test_mod.out | Bin 61368 -> 61504 bytes build/test/out/test_pow.out | Bin 61560 -> 61696 bytes build/test/out/test_sqrt.out | Bin 61336 -> 61464 bytes build/test/preprocess/files/test_divide.c | 51 ++++++++++++ build/test/preprocess/includes/test_divide.c | 3 + build/test/results/test_cbrt.pass | 2 +- build/test/results/test_divide.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 | 2 +- build/test/results/test_pow.pass | 2 +- build/test/results/test_sqrt.pass | 2 +- build/test/runners/test_divide_runner.c | 81 +++++++++++++++++++ src/main/c/Calculator/calculator.c | 6 +- src/main/c/Calculator/calculator.h | 1 + test/Calculator/test_divide.c | 27 +++++++ 27 files changed, 252 insertions(+), 8 deletions(-) create mode 100644 build/test/cache/test_divide.c create mode 100644 build/test/dependencies/test_divide.d create mode 100644 build/test/dependencies/test_divide_runner.d create mode 100644 build/test/out/c/test_divide.o create mode 100644 build/test/out/c/test_divide_runner.o create mode 100755 build/test/out/test_divide.out create mode 100644 build/test/preprocess/files/test_divide.c create mode 100644 build/test/preprocess/includes/test_divide.c create mode 100644 build/test/results/test_divide.pass create mode 100644 build/test/runners/test_divide_runner.c create mode 100644 test/Calculator/test_divide.c diff --git a/build/test/cache/test_divide.c b/build/test/cache/test_divide.c new file mode 100644 index 0000000..3763fc5 --- /dev/null +++ b/build/test/cache/test_divide.c @@ -0,0 +1,51 @@ +#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_divide(void){ + + + + double num1 = 9; + + double num2 = 3; + + double division = num1 / num2; + + double result; + + + + + + result = division; + + + + + + UnityAssertEqualNumber((UNITY_INT)((3)), (UNITY_INT)((result)), ( + + ((void *)0) + + ), (UNITY_UINT)(24), UNITY_DISPLAY_STYLE_INT); + +} diff --git a/build/test/dependencies/test_divide.d b/build/test/dependencies/test_divide.d new file mode 100644 index 0000000..172e1ec --- /dev/null +++ b/build/test/dependencies/test_divide.d @@ -0,0 +1,4 @@ +build/test/out/c/test_divide.o: test/Calculator/test_divide.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_divide_runner.d b/build/test/dependencies/test_divide_runner.d new file mode 100644 index 0000000..b42c847 --- /dev/null +++ b/build/test/dependencies/test_divide_runner.d @@ -0,0 +1,4 @@ +build/test/out/c/test_divide_runner.o: \ + build/test/runners/test_divide_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 a5f276f561a147a13632d25f8cf79597819f085d..b0c6aaece578025a6c5a6124f381ccb695daf5e3 100644 GIT binary patch delta 2018 zcmZ8hYiyHM7(VB0ZNJ{u%eH>|Xc=vcTUW@sc9#~>HHGZb2t*c^Y=)6dQCBiM!3&t6 zY#}ZvA*_2vnIaecGvW_oN>nnk%*#yVhq03%+Ybmvmn=blh%p&6F`ml0oxBKmt`z}w%D(!aNz3*}}Ykvo|JRNHcu07xF zdUKw3x%q)_P^o<~s1dvlL$(m^ffKg(cb797&uXu8z0}8rjn7*!6&afKF$a?G%rB;*X_>^feA1$#U35HLBO!24l`V<-L| zCTVYi+l~OSl)>MQO%(W@ft~3xgv>c~wx+L?e4qI+I=hM6eTY|n`hS%VuzG02=Vy56 z>4%|k!kMJQ-f#x0mP*>IFQN%UR&IjdoB`r12U`V89;pc6X9`^v7{gIlH6_xnjc&6E zm1&QK@HYEad!~}qz$w@7bQL`@9q%sW-D%=9g`*~i7Fsdki^KxAyd&Cy>}%PVv!l5} zs+Mg;Cv_^SdB!lAHk98px6 z<}J8P)pr$jTHuRNr0VC2Dr3K8u?=^G%6@G5PO+V(?JqS7E;mGR4vG!BAxGF=y0z%x zfw&GhqFZ@9LI>fi20b&b_{i8Z3NJV2BZZgi^C^TPx^YucS=qs0 zU$D?0O=0@hPB$g+DioVic#6J?tlvZXbC8dvNX?_L7;CqlV+Vz{f53<*Y-@EK4O`&p zcpH7!^6?a2fnq#G1{=ZK+-|M*aE~77Z%&ZOMwp`H3zeKK!ZIb3)!=PuCov!N(BFU$ zu+0ZEEnza~gTIJ?(Gr3W Hnri&J{1)6z#~@m>ySa)8oAwU44s94cy?&R$iJE3w1v51bO|Kat z-eEEsbG2+@(EBNwY?k8z;)BOEjp4nXisbT|1pJ}Am|hGutiM>{KKq!Qu|BUPI7q5s zG}OSBJ#Z!D7Wp>RK%>s@Axd|)(yf6lfw)zQgz38K?XfY7Mnq~a@%VcrSBkJ0A-)vt zwLGDoz<=dm2szZ&z7j`sGR^5ur!HJ%!eD>oi1R2iK;crf&p94lVBQw7mPJ_N^>8{J zf$gT@OvOH7&{DtPJg@Hw(0kAtKWZJNLMALP9WjNk7Qbnji*u`tXrIR3f|WR@mti&D zVT~YnNYlIr#WoI|oBZK1jX4jaZT+QVh|X(l2IKqa-35vUi35_rQ^eIuXMt|wlVfl^saNOJaIQKETQRVG0tnaRFe-$zebE>{4RRexdj|7a7fdu0;(Zu zp;&-Sz-WS(Z~xD%A2eLedWg8|-0H(v{e`Ai)!%5iI#!Q6nGpCo(Q1V-M^<8Mf0I$qiWA%*)?sIh!O&<~96#+{HaD+b+!Z zM$`X6LMZ#Nqw+u(eIo_%P=noNVXT0gWwVhD$If*sB^VUi*sOft7Y% zo<~-7UhVFIhEL+|{?xLiFn+1&@qo#yhO3@eS8hs@SZkzeVVxw_@WWWR5pE{A)v2)q z$Zmx{lAOK+#U$?<)HJH(M;fjw9)qqFr)Qi}YJ@otJM&cBb4J>xeki7U>5#bd+~-o| zNi)4H{}$}X6pSJF$b`+o`HXGGHp=K9A3Vt9#5aLv-C4zKFY_niRJLG@*Gfe{EN5+& zPXg;M7=Nvk;1ZO&Z8o(YPIVX9L==7z?&m0UnRO7$wXwx0?8p_&XHltsCO$m5oKc&S j;T~Ad*~TK5(K#?|+t{^1Mhj4~ZF8tYMt>79(@p;ZmOtFT diff --git a/build/test/out/c/test_divide.o b/build/test/out/c/test_divide.o new file mode 100644 index 0000000000000000000000000000000000000000..211bdcd66945d79aaf34497233cef25e03de5285 GIT binary patch literal 6016 zcmbtYTWnlM8J=@?kL_fA*>!?rC!yIyZ4#pHS+CvAV1^*0um8Hl>eXk zXMH?9mJl7uGynJfm%05rGsjQo&z{ybjme_1lWYS?ma)~;hCIc^DYlCZu)p`+^{-;# znLn>Q{(6L1xOy{vt1oGw!>ztl{=G0*2Y}3H^B|@2e?*5Hjk75-rPltfs)rm;&;v?J^ zH|mbhbm6V*LKhc}*1;`xZmA0tpGW6-T*RP87$iC3^7qmv7;y3X>0?s-;qI@27=KaX zmv(;(@yk$c?~H#E8vPrZHVV_>+p&|^DPH%7m_aVz&FlTVJ`iFKb9tKA5AymHuM51s z&gUIQem(+GcpkVo!CGp&cO4~liHplIKD z6AU@s*S!pce*GLrNkZp2O7#fcMUMJOS7UtHxA90&@iFqCoaeTv+u)gYn8kYc0-@i{ z5{Z+E7z`|CuroVgQU`fs41mRn{rY{0i3HLeqa14j>yTxgCVOBAZIIjFacC%|^>H0@4r4>qtD zm`Wh*!(ULl=-NKLk27c?vQ0NqY@6s3s9lEkWn<^0pO2wJUQu6y;C!-}(K<}Q>@oq6os+35?V$L21a&6kR^pO}5*Q?sNio|&B+8;vvs zO>S%}&CwC|&}=b1lRKWy<;+oYIGt(wfn!fD*pBViD*!FGQkz^FAIpr5rZWra%)I3- zJC&N-a$13x37ji+r<(Dta>MpO>G@XWQfAR@`F6!`xf#y~L-Z1gO2hJMQVmlBMP)vO zBga|DpC4zQ?H3nW(W(2()1GI$e*THTYRm@Bvh7BC%@n2|Wlqq{vH3>J@*{0<*;wFs z^##YSrYkioIur~5mJni%L`DHMtYZV`*^Y&Wo>yzR{$?s_Ct(cZk#TW!n#!)m!qA@Vn9)oK{MD6q2e2yt+kqVcD`!WkB?7GWKXp!LDP18FT2K#4!-6EvhE~U{un!xKWiMN9woxx<7wo2&J!%e{!$Pds zcC}G=7Ba);(VUsfUbdYobRS^SXFazP-X<8x=3#NG66}EOI#$CoYm7ZKGjk$+xL6Jx zKcL@tCKqs+`{KxmIXwC?qWQ^%*J~2~@LGja0nf)(YJ+EMoc-;6l}8Nc zXA})Qe>8kR7ZaCi1i$%ykOr~#Eh!n%#>5T3nFJJL{7T=%_W|k;jZ@ycA0b|1+1^F` z07a3Hf+K)&-#$<_Cx|#f+vi9~xz({s0S{7(mlx*3zuy<-sKR5eU|A9k>>pP6RpRFq{<{?C(+dAP;>!yEBjV*g%kkuh4-|Xx0%hze zh3_Eys|tUe_^&Gb8u8C6{5^!ft?&bMK>R@ACyD=s!vB)uzoYPz#Q#Cz-=_6^PvJ)h z|3%@?627VMS1A51g`cJPw-x>-@&8fyI}|5QdbuwLXujJOet_(g3jYs^JD~6Z;k^p~ zb;9CnWFtTSNb$v&$p(Lf>`f((`~Wzn@I{LAu)^;k>?`~wvj05s*dQf;pU)}wGlZX4 z_-6^r-=ADhS|0YQVn0UxzNPRz#NQwu8>Hm<`6tz$@Va6z`;}(}jz^wtsFP={j4$mE zkbw4hE*F1z++ zFhggeT+3Oo(RG7^Cz35)pg$=hUE;XXYT^TrnfRtN;VA>3A@Es3c)%L6Q5q6J+$2ciwhcV?i zLFA=C>t0Y2OZG3@YhWGazrz1b#hARODQtVL(*K)V_+O)eVt$8<^pouipp33daKZooqi+m=F5{r?M)*tik^ literal 0 HcmV?d00001 diff --git a/build/test/out/c/test_divide_runner.o b/build/test/out/c/test_divide_runner.o new file mode 100644 index 0000000000000000000000000000000000000000..417d68f21356bd2830bd878709f6c2500002432f GIT binary patch literal 9080 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 C2a@^# literal 0 HcmV?d00001 diff --git a/build/test/out/test_cbrt.out b/build/test/out/test_cbrt.out index 3cb78e64864c8b618668207111f8a54657726eb6..a2da86bf4461d2454fb1dc7b4b31a25fe8ffe70e 100755 GIT binary patch delta 4692 zcmZXX3slrq9>?$hKg3N0uVNGmAN!Ic)o?Z5^(5p}>s#afHBfan29 z8{<#*z&U8rOWn1{G+LIKqHW2h1*Sn+0c*PC14GwJJMMqK_kSG56DYfZn2=}$V@lwW+69f_gFmjnLm5h7_+(gT;yOXpmcgZ*2hBf4810EfII7rQ|SG&58X=v^Q z^++;>dLkq4=Ot@0d-Mz>J{P%=l09yvmb{)AC5%>iCaC9AsKqlia$+)4Q!@uvn0N60 zr_zw@r>{Iy)c%=d$XYS3e5Ri8^MhfCSg1B@+M;W@YfWSV$2FZr`_6~PUHYS^{y64r z=f2tj%deat8~;0lF$-2i;(CHyVKFdr%KP@HOhehHp?0e(){oL0doS!JK2L$7j?5y1~<+rwWSo zxTckW+rVnjbwblNg1f*yU^mzYF8sHqF)L$}1~e@m3_hu8X<*JNP4j|N&Y&J_12=*p zgQy1=gMHv$Fen&1cvjP{0vo}q3@EQbDFKgwPlA`hm%*!l(6kT1+raO@hd|31#zKd% z0`MZ}0gKOJ2f!_09oPqM2G4@~!Qk`Q0niCr#xgbobc1+kQGrWorkVn~QcW!dQ1#K#?#QwQ4+MVIIs@Ng*FvhB2_?}56wwFXiK2QkRMtD zv{33Qj#akO!Q$9}<=%o|sxMDgrU%-~pEalpEaX?CVy0qvmAx`q+>(qH&edncx>X(y zP{pP=3TIX!zOUP-`cYJ}&;bZYfX-&ruiD@Zoik8EhR7Z=81^6L-}p_P$lt{qpUcvdt61bnk!dfAw)0@O2(s8KF+%J$9@{Ttu=NLD zbq0Nd`F@x_8N^GS41TCGW-Q_fGkCS?D`mDcm`Xzwx2xvK3i+MK+-*2;#{Xck4H=>$ zKZw`=C0bbCplOIbFRfB$z8B_7y;;9Uj9MmuUPZjuAgWj1^6OrY3|9wL?Zt*vTKU{n zpO=|a&}^RG>?b*+lOxRz4^M2~t)iL7Sb)~^yuwP;r#XM5^}UE?%g*`X%Ze8><&NQj zf_7opKfuEKyz0wg5e_6PSLp*6(t+l9r6_Qwxy3}A+Ct5bIuxWC$<}6%TCM9QBQscT zaw)UMq>jmoP@@AKFKn|ZcLW~yr>h}G_w~lH7T0m3@`7rn_CStO7zp3i5NatYTUqvC z*|Mdye%~S!H%jgc{IV}{jFK3zefF@Ttf2bNUZtPPy6%b$XJNm&)PJG&E_;^Egs%Xi z-brF(I_3VjxnH%h>GIG?H@i;e=iMkgF8Ni@B-bIk!z-hg<@J0)MpsepA-l4U=O~+~ z2AMl$=IBG+MSet&A!=g|=B^f_;HOf5E>b_DA!ae>ZR3UagpA@{>2tf|cQU#g7ZHCR z6JSY{{<+$X?=RyK=F$QWv89&6n?8;$%_8 ze@giCDJh5Tj&BgPA@0c$Uc8s<&q+!;Y|r{hMwyJ_p41-`mTF@$tgc$v!~SUL-zfdj za;!M=VXP^L@|leOskxEbG1hz;Es_6j;`LO27D)f-`(d&4M@Ngihh%;wxsKQ!kIU%m z@_w2vqbn&F(dQB6tFB%k-0?EnMm31;)}t}3v0Auc>Q5*65k0C$9jvrkc!#5d)PKaD zbqOY4qg$?Gcw9~TM_*R21&jRAZw%3t{)Ih@ziIJqt+GwI7?Pz*|L99NSNccaBll6; z7k0-g8Eu*)+PG!6D(b>m>tr-qM!hoHEdBEG9=W^UgrD!>M!AP^GXDcg>bBzz9P`Hu z?LFOg#~ImS^et{BAEJ?R2QFlY21T-ui`u*GGZGNxqh!kyhy$rVH_58eS9u=%@%lHX zoLoJ2$4Z%39xm#_WPJ_gB1(F92lG}7_wZ-AnQD6M#*HHmx!a?Sr;j8%9pFer3;3VnKk~6zXxY<-n|I+TtkkJNtx@XBR=0fQ& z3{-w;Fb&_Rt9ql%f#wr^1~np;9zA)Tb@)P@PX3e6D61*;)b+N~0x`lc4+JVt-Kr|v z>D@EQs;7m{ow>z2^F@*K2&E1tTVLNUtnpMin2i5X{DZez>pFz5nl2*4@|Cder_{5_ P!Ap+|Yq3J_orwD%#UNW3 delta 4571 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 diff --git a/build/test/out/test_divide.out b/build/test/out/test_divide.out new file mode 100755 index 0000000000000000000000000000000000000000..9f48e142bdfba9b1fc6e9cf56a02469fe997e2e5 GIT binary patch literal 61488 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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 8a59acfa147a7444e76c01bfa9be24f1905467c3..bb6cc104bf5e2e66e56a4884449abf30bcd78bfc 100755 GIT binary patch delta 4479 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 AR{#J2 delta 4487 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 diff --git a/build/test/out/test_log.out b/build/test/out/test_log.out index 7bdd3bbe40ef904f2e801eb25c47a39b04232f0b..75852f741e6eebaac7d8112ed16ed145eef3751f 100755 GIT binary patch delta 4514 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 Tvg|GGqBoa%Fd~uCuBQASs>U|j diff --git a/build/test/out/test_mod.out b/build/test/out/test_mod.out index b37fa74d5d6878aaa229de4f7a496e7cea4d1cf2..9cc31697b34e3ddf5d8c5085cbbdb18190921f35 100755 GIT binary patch delta 4756 zcmZWt4OEm>8ou{qW|-ke82*Nlf6;Z+$S4)j%wKZglz`L*nK>w}kYb@ps|RDyj>!Rw z>D7`J*PpFpZSF}NT`jG}G)=LMF-`20Vx^Jh54d(bR%iCP-@T(o_Z;5mz3=nB&;9xC z+;4{6XM)Fzi0 zW`_NG&C^G=`Qn~`x_9)?-o~Kj$uYeV)|_sbhr4SG+H}yUz6S3@^&V?bnMcR-5gmJD|))8DC4yA9ibhabFHVSri>>{DukkhFPL2q?z zDGhZx5}RcDjfHA%lUT6Z9A0{D;UGv{FK@+kV*xv<~T zQTnhq7Da-IrRv-aSC$Ah#Eup)q+{m(YZ1veA9dEB!z2fa*otoR9l=A!Pz24GZPV|f z*GJxpGA1OPD}FLNR~#_!_xjB3#_a`1O|{~AO+#hz`+om6_?^H`U^nn8u=oSNe;sh* z9>3ol#MnHb16U1o0_%X~z_);_fIES216_Ol{!f7|z;56cpxMCKcAx`z9q2T$TDIXs z2q16`VRzvv273l9srt+j7{DL0pKp66WDtY^}uO|P!DVZz70(O6!pM8 zz;2-HFzQW=MIAvsa2wERs%5O99RdiX{N@HOgz8@@q3(03a3z=3B`51jKI>hX}i20DO#ptBZE;yJ&+40s6W297xI z_iqGt0Na2UfL*}3KluI3!q~`ezdse2biwbR0GxBt?{@*mTtYo?2XG@W^)l*#%Ya?L z6F@@0-apa&}ehV^0v zz{S9F;9lS=;5FdeKo>s1WgUI@13V)3=mkl<>Y}KL9MVwq_BaQ~_H|^{{K{9alO(OrOEG(Iwc&D7-XPte1#W$+V> zPMpU1;A|PGcm(C>Rp9L23!mlmi(IKq4mVYV1tY9C{ZXOwJhh^BE4*Iv!8;0XFZGlr z4EhP45vO~q$PXyIAQeP)7*6k9lsP-Wco)3MR0!`Oc=u8jy!r4l$OEqt-T-Qaw-sKz z*EhQ6+v*_+P{ z>!{F^m`;HzZ;YCQmWaD_$L&#NWYjF9z!KxO_RxH74IS>uD+E> z^JsLfaR@S2>e@9^q~?4H(C*Yr7FV*B_Q1n2_D8;3&(~D`(p&j)*in5Y?({oXQl~cA z#f&eZx=8O1njtsYwUau zEm<=xLL4u<8mB+QoVN4P=**B0{+XxZA7r#9ni4c906IlO+l*9b2{_X^-e z>fZbCthzTm0wi+N=r~%ot%jw zfzG}bQ+p0na>{bVEJ5*ZNtu7bN(JEFLR+uZ9Bc;){~kb4w~WWC`?8sPsu_%GqI%^lcrLoty4Z229JN9M z#AXVyUX)iqaHrT`1J#Cu*pDR^F?G%3V!`)AD^J(Dpk{O-pjF;-JTSAo@lwoboC)bX zm+Vc@=lRer>ABz@R?@{$&&+3oDHQz6(P zirtRuNwj4W*a)io!e(>|7O%%>d=qFz_9FBnu{+GI(iFJqEZCQomb~w7Uw0eGdfaAz zSF!2ovPissMDx)^uw7uS*fB?ejN&oq?Gjaiy{TBH*ueTNv9iom#E7ByUQX$x(iajt)Mwcjd64jluS*9yC-@ED5Z^pn4y8cW;uy@z_ zvq73Eo8Gu^cSzvsbL7#n3oCgIm0TQdb(ToQ03P)=UmUOT{dDS57XLF@FORq6ZI&r@ tRB}1X(!Nvn;;H#^7XOZX$k=vR#@uATl4ZH)E7>cfk}Fw!4SB8%{y+OPa%2Di delta 4354 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 a-+LmqlD3`AvA)_bdP`{#BjQOrH|c*~4>P6! diff --git a/build/test/out/test_pow.out b/build/test/out/test_pow.out index d7d206f06f9f5f46c8d46fa8b8cd3c6bcc2a2e79..a9bcd930a88b2de7e01ce5de2a8a7d054fea6e11 100755 GIT binary patch delta 4507 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 delta 4452 zcmZWs3s{s@8b1HeTo?plxDCHtW=OWYv?;9$V_xt=%(yDJWY4f*f|iflgBoV7w6=_y zlq(weK}q>2blEP}?qg#spcR%`xu#;4%vMTUDr#P+Z4<-i-}n6I3>tf$XTJCQzW4jS z^PMy2Kl9J#uCUD~!)k{qzPjNjZMN~u7&fviqim6J!io%dl|03^LKWr;YE)0gKmVP3 zZ~B?VGbcXxuLEzr@IrRmtl1j_HDOKD=$^cBcfFR)m}h;$b`Hajc-*<&4_jM!`uQBs zdUHK@uW1kWtjoOub1gSFB;1V2J<1W!hsHF>Uc&wBbGx~7oq0ZW=lw<1tFFHSy#;s#_z|!hnBAu9wZQbbFq$o29KZsF#0G808PhGz{=P+Ko_v&I0^tSbRr*k-Q0|$MLeBg|4 zkdJTXeV_|?8kkcBCG3>0mjM3;TnS7*t?QeCyMQgg4qzv6_8DEj0!-=F^&}e_I;ZQ| zz!~Rt-3Ls+fPCO{z|BDGMdSnT1$F}W0Q-O=F6nwo1Y>^zR!xBNGL#bFVc;s@Prxle z=Ve{r1DpWt0v-plL5%I~!3uyQzQ+oH6~I#9D?mSR7qAI<6xa?t1MC7`1F}dQHjH=y zw5&+ens({>&D@@Djp2}i&lr53q~@Yqw61^Xy5Z&&2G3l9PbYm{6 zd5-2lHd6)U&r}DQM>`-Nr;gI0N(=p1>QpVKD6uR}xs%40IhAQNx6DcPWhqo!X38zZ z=^b`s6Z0djIIPTtj|WOI_|zNuy9Cc&yxDTZ+(o@*$>thphe=zIYlK-MB+S1b=u>q?XcZY2xLr!Iok5+ST|W?4_QbtyO9 z8OjR8R~lJ9H5Iqt&PZV`W)?bBmugvSgi%kO+p5gtf!6F7{dcnx4@~^`P6Gsj6G`; zQ{Br<&w^|S=Ot&#Y)=_8@neC&4gG=i z8fE93Mj)cvsJ&*os97!mwbvUd4=rKUT4B@hxzQT0TWx27jg`>p`rN;ghP861p#V)0-^_o&lE%hU#`IoNA zFRVaqpzrHT?blC~nBgm0*x*zCN_!fd_ie=W7G><|ZfJuIZ6&m5Lz@6C#?W4ZW;e9t zXvSgE4&^o`4sgjs4z1^JY;7Bg!h%!iF)uX@C+e-MCT^LVinNPl?J zjm1`mvQ2NI^-3FWU9Br+)?uhM!>IKxHE&K_!26gnS)_W*UKE;9Dy$r%tC{_U3c<~i zg?zEg7TnL2*`d0oH!w@Svevh3;#P+05y^Xj1mw6Iiq_c90Sts670X zqC7;lj+4r(bhe{7!Ok?6;}<)Eo7ougRB_ayjl{1{tZHX{@;i_u%cSO`4&0#1rw(Ny zbs+N3Jd(w*>9>iPI{6en!(+U!Nj7YvVEJ+8;~nWAcnpuhZ)ZbTjo%1kc#w^8n#w+P zXnh8&u?PIZ8|pcR>cFPqJ&kv=l)q$P~IPV-AhK8S=`v%RfQ<;^1Q=%>lbjvIFnU?X>!s!`uPZg&(3grHghPb9gVnwyPQo z_Zubp#Z~UdEUZAdLMyjnk$gvNY>{U-VnQmR)cMl zH3wd$Ewlsdej_)Q75q-*rU_uj(e0?r%QAQ1Z5oNUcz$vQ?o1L*>2zorVEIWnB+qE7 z+*Q0of}JSYfp_ZN)C~3k$&Q;O8aX8UsiY3Dk4tvGY?CDWG$}!cc{|vfjPt#pGJ_87 zAZ)&C*?tig+Lv#rEa>oFlC`SR1^b1prAvR)Sm7v?Cp8%dny<=>2ZIlJklC+jZ_trG zQL@#z2l==Ie--(dCH)zJ-e8m^5Y;uvO6{sOkaVUiO#LF8uAaLsB6PF$dFl4^)yfKL zJwM7`S|kdD@by6N`N^uXnA{h$)Soxg@{5yfXPZULGHSh;W%IoyEEDx!%u-4y^U`FS h>to?tOqG|iY)=M-HJ@59WksC%R#^8dH2zH5{{T73LQ4Pu diff --git a/build/test/preprocess/files/test_divide.c b/build/test/preprocess/files/test_divide.c new file mode 100644 index 0000000..3763fc5 --- /dev/null +++ b/build/test/preprocess/files/test_divide.c @@ -0,0 +1,51 @@ +#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_divide(void){ + + + + double num1 = 9; + + double num2 = 3; + + double division = num1 / num2; + + double result; + + + + + + result = division; + + + + + + UnityAssertEqualNumber((UNITY_INT)((3)), (UNITY_INT)((result)), ( + + ((void *)0) + + ), (UNITY_UINT)(24), UNITY_DISPLAY_STYLE_INT); + +} diff --git a/build/test/preprocess/includes/test_divide.c b/build/test/preprocess/includes/test_divide.c new file mode 100644 index 0000000..f2efae7 --- /dev/null +++ b/build/test/preprocess/includes/test_divide.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/results/test_cbrt.pass b/build/test/results/test_cbrt.pass index b51bba7..e95950c 100644 --- a/build/test/results/test_cbrt.pass +++ b/build/test/results/test_cbrt.pass @@ -15,4 +15,4 @@ :failed: 0 :ignored: 0 :stdout: [] -:time: 0.002984535996802151 +:time: 0.0006476099952124059 diff --git a/build/test/results/test_divide.pass b/build/test/results/test_divide.pass new file mode 100644 index 0000000..421094a --- /dev/null +++ b/build/test/results/test_divide.pass @@ -0,0 +1,18 @@ +--- +:source: + :path: test/Calculator + :file: test_divide.c +:successes: +- :test: test_divide + :line: 13 + :message: '' + :unity_test_time: 0 +:failures: [] +:ignores: [] +:counts: + :total: 1 + :passed: 1 + :failed: 0 + :ignored: 0 +:stdout: [] +:time: 0.007046165002975613 diff --git a/build/test/results/test_factorial.pass b/build/test/results/test_factorial.pass index 2836ba0..97232a1 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.004264043003786355 +:time: 0.0032789550023153424 diff --git a/build/test/results/test_log.pass b/build/test/results/test_log.pass index fea15b6..2416b02 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.0032400870113633573 +:time: 0.0031624000112060457 diff --git a/build/test/results/test_mod.pass b/build/test/results/test_mod.pass index bf8198a..75d7c0c 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.0043334150104783475 +:time: 0.0031652229954488575 diff --git a/build/test/results/test_multiply.pass b/build/test/results/test_multiply.pass index 1384372..8299cd9 100644 --- a/build/test/results/test_multiply.pass +++ b/build/test/results/test_multiply.pass @@ -15,4 +15,4 @@ :failed: 0 :ignored: 0 :stdout: [] -:time: 0.00700880799558945 +:time: 0.003240023012040183 diff --git a/build/test/results/test_pow.pass b/build/test/results/test_pow.pass index 7059cd5..f2c83d1 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.006334579986287281 +:time: 0.0032584719883743674 diff --git a/build/test/results/test_sqrt.pass b/build/test/results/test_sqrt.pass index b70f106..c6ff18b 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.0062521169893443584 +:time: 0.0032074050104711205 diff --git a/build/test/runners/test_divide_runner.c b/build/test/runners/test_divide_runner.c new file mode 100644 index 0000000..bf39076 --- /dev/null +++ b/build/test/runners/test_divide_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_divide(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_divide.c"); + run_test(test_divide, "test_divide", 13); + + return UnityEnd(); +} diff --git a/src/main/c/Calculator/calculator.c b/src/main/c/Calculator/calculator.c index 3589de7..6854565 100644 --- a/src/main/c/Calculator/calculator.c +++ b/src/main/c/Calculator/calculator.c @@ -17,7 +17,7 @@ double log(num1); double sqrt(double num1); double cbrt(num1); int multiply (int num1,int num2); - +double divide (double num1, double num2); int calculator() { @@ -184,3 +184,7 @@ int multiply(int num1,int num2){ int product = num1 * num2; return product; } +double divide(double num1, double num2){ + double division = num1 / num2; + return division; +} diff --git a/src/main/c/Calculator/calculator.h b/src/main/c/Calculator/calculator.h index 73ab918..9e123ee 100644 --- a/src/main/c/Calculator/calculator.h +++ b/src/main/c/Calculator/calculator.h @@ -9,4 +9,5 @@ double log(double num1); double sqrt(double num1); double cbrt(double num1); int multiply(int num1,int num2); +double divide(double num1,double num2); #endif diff --git a/test/Calculator/test_divide.c b/test/Calculator/test_divide.c new file mode 100644 index 0000000..6b14a95 --- /dev/null +++ b/test/Calculator/test_divide.c @@ -0,0 +1,27 @@ +#ifdef TEST +#include "unity.h" +#include "calculator.h" + + +void setUp(void){ + //Wenn Funktion Vorraussetzungen braucht +} +void tearDown(void){ +} + + +void test_divide(void){ + /* arrange */ + double num1 = 9; + double num2 = 3; + double division = num1 / num2; + double result; + + /* act */ + result = division; + + /* assert */ + TEST_ASSERT_EQUAL_INT(3, result);// 9 / 3 = 3 +} + +#endif // TEST