From 2cd88bfff255f790ad26c82c54d5456861e6be48 Mon Sep 17 00:00:00 2001 From: papyy Date: Wed, 26 Sep 2018 18:58:29 +0300 Subject: [PATCH 1/2] Work in progress --- bin/StringCalculator.class | Bin 405 -> 1365 bytes bin/StringCalculatorTest.class | Bin 505 -> 1685 bytes src/StringCalculator.java | 47 +++++++++++++++++++++++++++-- tests/StringCalculatorTest.java | 52 ++++++++++++++++++++++++++++++-- 4 files changed, 95 insertions(+), 4 deletions(-) diff --git a/bin/StringCalculator.class b/bin/StringCalculator.class index a937b0c43633d36f133837cd90ddd10fb14ac782..21c4391759e5c12307c430abce5da08448c2a741 100644 GIT binary patch literal 1365 zcmZ`%+fEZv6kVrtD?_;zTBuMiiU=(&7ZK&w#E_UYK{P^01T_w20t00r)2WGxkN$)Y zKA4#J!iz6xjNt?P2LHgA_~?TH*O{p_-qQ43X79cBT5F$AryouLOku%5M4)xW_Z)Y7 z(JGg!Wy?SC45<9NYdx{X%9gu5c4u?fF8KobyyH54K|mQESrbqf54LO*3L0Y2pbNAt zIj+52-QTpmRco_s3&fWWN>+Kz@*H`ueN_D&ry^s2_MIcLwY4RX7+$J(53}Y*iY5fw zVu+(%ps}=Lm-d!yciZ3jPyTuo36dOr_P{jJiIjn^-&BRTF+} z>ON0J0#$tPrsr8t1={~Xg$a)9*AgNdED#R=y8=xszE#@0Z5;;28yGf_kycE^Fo~<2 zXV^5DC(B~&!*}q@R5P%+=pI)6D6Uh)qmA+0%&7S=J19YBVwjbaF!n8bXJ4D~|5P`{6hUK}DYb;FQ-o%?g zGg`Q^SR@H1LDn+aW3(I3ly{Qj$DygK_5M4QtxoPS)X2fn3`h^z!`CfOV8q$A2-0~we|l3SYJFOk(a_c^rUCfZQs zzKTS^{2sH(uEt!R25^zwb=+m$AoWGDjLR5epCk&nf?+C3<2pu=p-KJdMwU^Xu_Q)= zQ;vwe(9Q^87!U?J1(&>mF*?@LWPT@4zBROm9^o?)b=DMU(fC5oOK8ebXwY&_+M_Dd z+8e}ajh0Jjp*x!3h30(Cov5#6fm-(>A1F(aT{oTR;jNe5`p`wTz0{ZCK1Fh~)HhE> za)O1B!MP8GnhzRgm^(xt;;fVE72*sA>Q&;W0`(fC<_@So&?rt3uc>YR&N&ENJ6BpJ zj(lPrp}gDK`1CPuynv=2DRusF`T^n^L~TW$ohJg0{bB7n$Br6DgY%WlA_0pi#E*ah KJI@g(g88447w)+L delta 99 zcmcc0HIq04-DsMFlCMfS`~fi4YQbo0el4EHl{75P!fA@~>^PoQPlc5H7&AQ+1u2!z(%BWWOrRuf^g2y|p@N51t>v$D8vWeZXu znsIYh;lL`|>Ri1HdB=81pf}TqJ1x-ZQA6b|Bb~f=JS#Bp&UZZfR36wRn@FpU<9e27 zyAFXO8Ml~Ep7_+3RPxgrqP)G1ZlDvbI(h_PpbrBY`pI?Wa?N!M(sE1;Vn{$cw+g=8 z{Xm_u!+7RKSz5u3n7E5kfwtVS%zdng73hi8l~+`x93u4#sy@t{9H=LJu#S%Y;(tr|UrJivD!C{! zIA^5TOLdo#o+pcJg0b;AC(p`3Yk0vqxNffYu47dR$mW!wbrY{tFh)6;E$7VV_?mUd zDIKp_?#z+V*mM12PHx(2Vs8-aQ_hTP81?guvT2PwPCWlLo|9ZTR0vO9K>x~3fCGl| zGcVD`y;&*X+Rl@}9li$8QLTz_RX~#PieTsmI^SQQD--SB30|UiI`Iv|TrV+p1s_F- zr3Q2ov=MfYpo(g&0#T*X(S-?2lCljE#1JQ~z*Lj;)3?!gk-nSIy`=AJn*LEk`Ya78 z_x&~ZGdtawRpwJ)F7fob^|EM7|=a delta 166 zcmbQr`;%GV)W2Q(7#J8#7^K-5m>3yECMz=0qFTX^g zGPOh@Gq)foH8(Y{BsGPLL4-k!ok4VRBcmvnID-Tu14~+BX3pe9Msdcl$%4!#j7*c= zn8WN%7#M+&fq_j(a0i3%Mj(rcfeT1-0ci#XP6k#WiyO$|fv5t~yg(i!gCvk-Vvqs= DDEAw^ diff --git a/src/StringCalculator.java b/src/StringCalculator.java index 487916b..1bc5a16 100644 --- a/src/StringCalculator.java +++ b/src/StringCalculator.java @@ -1,9 +1,52 @@ public class StringCalculator { + + public int add(String numbersStr) { // Returns the sum of the numbers given in numbersStr - + boolean lengthCheck = checkLength(numbersStr); + int sum = 0; + if (lengthCheck = true) { + String[] strArray = numbersStr.split(",|\\\n"); + int[] intArray = new int[strArray.length]; + for(int i = 0; i < strArray.length; i++) { + intArray[i] = Integer.parseInt(strArray[i]); + } + + for (int j = 0; j < strArray.length; j++ ) { + sum = sum + intArray[j]; + } + } // not yet implemented - return 0; + return sum; + } + + public boolean checkLength (String numbersStr) { + int stringLength = numbersStr.length(); + + if (stringLength <= 0) { + return false; + } else { + String[] strArray = numbersStr.split(",|\\\n"); + int[] intArray = new int[strArray.length]; + for(int i = 0; i < strArray.length; i++) { + intArray[i] = Integer.parseInt(strArray[i]); + } + if (strArray.length > 1) { + return false; + } + } + return true; + } + + public boolean checkInput (String numbersStr) { + String[] strArray = numbersStr.split(",|\\\n"); + + if (numbersStr.matches("^[0-9,\n]+$")) { + return true; + } + + return false; } + } diff --git a/tests/StringCalculatorTest.java b/tests/StringCalculatorTest.java index 4ec9afe..341dde3 100644 --- a/tests/StringCalculatorTest.java +++ b/tests/StringCalculatorTest.java @@ -5,8 +5,56 @@ public class StringCalculatorTest { @Test - public void test() { - fail("Not yet implemented"); + public void testStringLength0() { + + StringCalculator calculator = new StringCalculator(); + String numbersStr = ""; + + assertEquals(false , calculator.checkLength(numbersStr)); + } + + @Test + public void testStringLength3() { + + StringCalculator calculator = new StringCalculator(); + String numbersStr = "1,2,3"; + + assertEquals(false , calculator.checkLength(numbersStr)); + } + + @Test + public void testSum() { + + StringCalculator calculator = new StringCalculator(); + String numbersStr = "1,2"; + + assertEquals(3 , calculator.add(numbersStr)); + } + + @Test + public void testSum3() { + + StringCalculator calculator = new StringCalculator(); + String numbersStr = "1\n2"; + + assertEquals(3 , calculator.add(numbersStr)); } + @Test + public void testLetters() throws StringCalculatorException{ + + StringCalculator calculator = new StringCalculator(); + String numbersStr = "abc"; + + assertEquals(false , calculator.checkInput(numbersStr)); + } + + @Test + public void testLetters2() throws StringCalculatorException{ + + StringCalculator calculator = new StringCalculator(); + String numbersStr = "n12"; + + assertEquals(false , calculator.checkInput(numbersStr)); + } } From 7df40e93e04f4c06b3931009776046e87ef21229 Mon Sep 17 00:00:00 2001 From: Pauliinap <43180084+Pauliinap@users.noreply.github.com> Date: Mon, 1 Oct 2018 23:31:27 +0300 Subject: [PATCH 2/2] Assignment Finished --- bin/StringCalculator.class | Bin 1365 -> 1427 bytes bin/StringCalculatorTest.class | Bin 1685 -> 2224 bytes src/StringCalculator.java | 32 ++++++++++++--------- tests/StringCalculatorTest.java | 49 ++++++++++++++++++++++++++++---- 4 files changed, 61 insertions(+), 20 deletions(-) diff --git a/bin/StringCalculator.class b/bin/StringCalculator.class index 21c4391759e5c12307c430abce5da08448c2a741..2401ef77a0373d3c4481c1585ed82fc4aa0b89ff 100644 GIT binary patch delta 876 zcmYLH&ref97@Y0f?bg>)p!6xF6be+-{)7reDm*mC#D<^;Vqz2tNE$>*V+eXO>BYpe z>8S?~CMI0)+8AT{2YB~l;?a{A{{RBazJk5%+ud)z`DSL{PrDJce;j{n1DL_B5BBfd zHUyjyE@D8y-g;i$dReKxdc7aOpn%N2U9)WrVOS$B(D!2V&1PYDv$kDW-QU}(ZHJJ+ zNTXlOB$61{7!&C4LMpZW>UMQ6go(y8u@ba*4DB5=pz%d4hqD@aLp>Wp33CmpzMuwriH#m%N=gwq1i`E(veM6GLcIy#L6nB z+TZQ6-zwAO^S&q6bM9ub>w>^by#LyR0lDidBBs5hD^9B8`Jypv>hkwF%Ur#bTHiBF>*M}a_%dwi-XZ#PZK4AcoR0S%!sBm~!@#&rSo z_Sh$c%kv7s0ujy;yaj%7lAm9f3C=7Ie}u9QI|<&;nf#BT;vAT3r&QYBl zmEeIf{*m3Z@}A`cWslN!lBaQwn_yTejL>$9mM3Yp$lU^Un}FPog#Q7#teJom=5d1_ zePl>`VOVvK$fO|=$Cwv}f{7pkd4!-iM&!)94wHia^O@6K(pbbrJN8yGk@*&GHlgI9 w)s;^cVhYS=nlD-;>#Qd++3Cgf`6EWpG-^Joc_yDHA^>sZ3E)tdL_RE?0u1GId;kCd delta 799 zcmYLGO=}ZT6g@99Zzi35m`;seLwp;0#HTsgZ10? zA|jyY-#)S|%p+!E!3l|ob{UIKMpP3CESX3O%s%V9?vxHXz5P0Ok~ygnjaP1aI&7{ih#BEw7d7b-Fxxs(2I56pFAuV>UryNF0Fd&el(n2&-;E9 zI!qF}pUn*sYHBV0LGuXhoE;t_+R$VA=$qA$TFp4dTuercm>w}IUl70j&JgN0`gH!s ztp*dST-pNJ%Di=l3!ZlrdM-~z(EF#CM!CDk~_f#NG67n3& zeV8VMiFv_LG*J@3rGRxprUEwR7?nG}2x&04Xi~Wu{|KoK#un`qltH>ylgF@Wjx0pv z*dHl)p*?>KBmJ`)(5G$`U1>4MKH1G6&TEqEmass+Nh-`TSE;W-g`3o*oM??HOq^(4 zI3ZDI?<$?JIj8h%#7VpQb>hcd{Sr!b82TxE;tcj!ZeIjX_!a^;Ct42(q^Z`i!0nt} z8{*axq(0E53T!$80-J;lp~%&1F3Hq*c0w|ILDJ;&DQX^O^bO;W{QV#VLfki=@(Jh*#d| zg_m;hZXd#4_y+|)fL}m_eHQUKVa2POz)A8x@9#a&bMnFYn9u$E^X&(Kd9+e61YA{= z?)&lAx#2iCh+A=YKWcA;FXC6dPm$Q&?sU9P)V5I;u&U)+xh|0V*XRXNJAQ6sPOFq_ z0@*}83~zSA@Tm<}Bn68*>Px1P$3hm1SW>&jrG=F&#<5Czs?jLz2n?Oj&ETcC9|bn9 zX+F&<8LfCh90%P4_1jok?{Act6-b?s{hf*ejxKFRLGv(t7IbYi1&nH?-;h>$IWIEm zwtVMgU?YnRhHxIk>R5Iimz5D#&a!fjm6Cd6j;bSBkh8w2dUDLUz>YC?Tx3U4cZiA- z*5pjpcTt}yf5w%!U$NX{Xai}k1(;kXNKKL|aq_hKWtPNRLS6kYHAkvKsz$1wP}fO~ zs3WWHEKysgwn`ss>e#xhOsk-ss>M@9XPxQ|s<)_aBrfl0GT5UVNk60Ck$?CFXS{;z zpC0JC!72AR#pjtc`2|{h!B3sq?pdXJ>eQQdTfsKN#Bf5s+^BRKWvAKtedixSh98I)Q}~5=rE5^( zrccKtM) 1) { + return false; + } intArray[i] = Integer.parseInt(strArray[i]); } - if (strArray.length > 1) { - return false; - } } return true; } diff --git a/tests/StringCalculatorTest.java b/tests/StringCalculatorTest.java index 341dde3..df9b511 100644 --- a/tests/StringCalculatorTest.java +++ b/tests/StringCalculatorTest.java @@ -4,8 +4,9 @@ public class StringCalculatorTest { + //comment @Test - public void testStringLength0() { + public void testStringEmpty() { StringCalculator calculator = new StringCalculator(); String numbersStr = ""; @@ -14,7 +15,7 @@ public void testStringLength0() { } @Test - public void testStringLength3() { + public void testStringTooLong() { StringCalculator calculator = new StringCalculator(); String numbersStr = "1,2,3"; @@ -23,7 +24,16 @@ public void testStringLength3() { } @Test - public void testSum() { + public void testStringLength() { + + StringCalculator calculator = new StringCalculator(); + String numbersStr = "11,22"; + + assertEquals(true , calculator.checkLength(numbersStr)); + } + + @Test + public void testSumComma() { StringCalculator calculator = new StringCalculator(); String numbersStr = "1,2"; @@ -32,7 +42,7 @@ public void testSum() { } @Test - public void testSum3() { + public void testSumNewLine() { StringCalculator calculator = new StringCalculator(); String numbersStr = "1\n2"; @@ -41,7 +51,7 @@ public void testSum3() { } @Test - public void testLetters() throws StringCalculatorException{ + public void testLetters() { StringCalculator calculator = new StringCalculator(); String numbersStr = "abc"; @@ -50,11 +60,38 @@ public void testLetters() throws StringCalculatorException{ } @Test - public void testLetters2() throws StringCalculatorException{ + public void testLetters2() { StringCalculator calculator = new StringCalculator(); String numbersStr = "n12"; assertEquals(false , calculator.checkInput(numbersStr)); } + + @Test + public void testSumEmpty() { + + StringCalculator calculator = new StringCalculator(); + String numbersStr = ""; + + assertEquals(0 , calculator.add(numbersStr)); + } + + @Test + public void testSum() { + + StringCalculator calculator = new StringCalculator(); + String numbersStr = "11,22"; + + assertEquals(33 , calculator.add(numbersStr)); + } + + @Test + public void testOneNumber() { + + StringCalculator calculator = new StringCalculator(); + String numbersStr = "10"; + + assertEquals(10 , calculator.add(numbersStr)); + } }