From c2a513496a25ef5b1adc805bd3ef02c119ffce25 Mon Sep 17 00:00:00 2001 From: ville Date: Sun, 30 Sep 2018 16:15:34 +0300 Subject: [PATCH] Assignment finished --- bin/.gitignore | 3 + bin/StringCalculator.class | Bin 405 -> 1319 bytes bin/StringCalculatorTest.class | Bin 505 -> 2725 bytes src/StringCalculator.java | 29 ++++++++- tests/StringCalculatorTest.java | 110 +++++++++++++++++++++++++++++--- 5 files changed, 131 insertions(+), 11 deletions(-) create mode 100644 bin/.gitignore diff --git a/bin/.gitignore b/bin/.gitignore new file mode 100644 index 0000000..249513b --- /dev/null +++ b/bin/.gitignore @@ -0,0 +1,3 @@ +/StringCalculator.class +/StringCalculatorException.class +/StringCalculatorTest.class diff --git a/bin/StringCalculator.class b/bin/StringCalculator.class index a937b0c43633d36f133837cd90ddd10fb14ac782..22f0342e69de8b5c6dbbbd725c8230493a2d052e 100644 GIT binary patch literal 1319 zcmZ`&%Tg0j5Ir{uOfnfj5)x44tw0_UK~xk(5kXT$l&VlvS#BJX5eJ4OHJMnr_cvTx zZd|CP(Q?5D_$mH_;<+=Ch>43#`u6SabNY1O@4vns0hmWtfluH}-m%Tn?y7DTYL@Pl zZ3O{(_w*Nf#?ni>nMXT&M!^yAS8E3XA}i3jWR^^4nXc)?wm@LDTr^bp5!Rp}DA2QE zmW+qBgB`=((swLFAhJ;|=+?GwoATUn2At<+Ro?x}V3C#eVo@MAz0u_1MJ*<>Dg>e$ z`VbQc+D66F3x+K)*)F&>KZt&IkyddQg9^@_YSn|#a2`Vf9o33uvhS&Ob)U2r4w2S~ zh7NQ}f@2!S(JP=;U3oWkyDCYlC0CXzk!0sB-4V8;+YV)kwt*n=LxHZmqZjsbdd1aI z!DJ9A-l(#rOB!a7Ax=Y=70VJ>XwyL}bfVQIpgc1Vx7;!PQJP~3*@jcIOL@5uT!Cx| zS8-jzwbNR@tUAVlh6UVURJleaV;+K8&TMk!9BN?b2a7>)-oEm_id(p?fNK?XWjP(D z;SN^Fry?`0(tmbiTg58Y6xImWJGYgm^P2~yyyK_6Ahmuq&xSU2U4#=Pk_ zAHs~RfH4l!&-X%(a<;TOXmii`4e^xWzmVSK7pNa-_@MFI={h+q+L{-DZuIa(mC(zt zOn$?-0RLx`sX8K&cpU?|^wDzC{~5z?F_3)x3B$?sP@p(h$LLc!U-^%RULXJPzhjc$ z1sW$4kWZKeyP+aVZ=BXNVN$d+h`1z@9#De>Au)jqq!Gp>F7oH&%><@M$j@A`lJ6(t z3KF7^QG9F-$~oRkJ;JF-QW8$*((ifnx@HpXIH~lzprc;s31}FXUC4toFq diff --git a/bin/StringCalculatorTest.class b/bin/StringCalculatorTest.class index d44b83f48579a95c814a0008fdfcca590443d2de..505dab8bdca76aea030ea018fe2613d2e76d6587 100644 GIT binary patch literal 2725 zcma)+>r&fR6ouCTjAh3uV9d1;oTdpF+wq0CDdW(V;nId0NCSZ;P2!Pl0U}1GvfMsF zAEZwYo}V>5*U1>8@lzCK>tGOKwx04)zG5oMm4p&;{aqhH3oSY;shY{!Q)r3)uAfjN5#HCD8t|nrb#1z+RqaiT1Q1PmC zg3GDL^4zB}%wSd^Vro{$H1;}YcGZs+%n5|KOqSBc5F06f;VAClZWx~v!Q)zOw>8s> z;U4A%VyeB`__?Dt$v+VwytQRFmHn#A#$Bz2jp=Vo4Dnb%ku9oPzqS zMGozHxPw7g3=$)sDJl4d>Mlq=UAjy{Pt68IH?*dHrdygxjtx1eXh{y>+Zeustkl%b zn`&J%1?~kjEp>f>3ciE@2LX3A}mS8&vQn#^D3pw~t}K&e`e z({zEpEY0|)dw_ntjLH^5@7wGf!fi0ic+|#6wJ-VB%Z6lafg%l`E-W0t-k{EWxLX zNK;-Q6NvG~#hCRlvK~e*5(qI$h%ri!Q(%IhtVtilY!_mz3lZr;6ncdy{x8G~A!Pk? zgh&$NcFzzG0wDqhQt}`kCa@gXi@U^_C&mIXQUqG`Va#=V;U7rZ9mu0zF;+Z`uM=1e z#K;mOM~pl%3dAV(jIkDoQKO@zJtsY1tY2VrJH8&@%Dh9x^JN?ZJok|L%hWH^5Gy|I z$!-gVT{{dRf?YhZJ^4eRcEBW_dM)_RNvslKjR@;(!3JBf>BIQ=B=&p7c-8~P7BMQs z*e1pfF?M^#I1I#SxNqpRH;ErF@M0zYDuL=1FF3QN-Rs%&q>Tn*AFf! z%FIi*)(o56!D7P5Gq$un7t7U=ZF2WHB*t0ZA?(&A`CPzzSq>16e!} RRX~~-$YW%X1d>b)QUI&>Bq#s? diff --git a/src/StringCalculator.java b/src/StringCalculator.java index 487916b..5b3d062 100644 --- a/src/StringCalculator.java +++ b/src/StringCalculator.java @@ -1,9 +1,34 @@ - public class StringCalculator { + private int sum; + + public int add(String numbersStr) { // Returns the sum of the numbers given in numbersStr + String[] parts = replacer(numbersStr).split(","); - // not yet implemented + int x = parts.length; + sum = 0; + + while(x > 0) { + + sum += stringParser(parts[x-1]); + + x--; + } return 0; } + + public String replacer(String fixThis) { + String replaced = fixThis.replaceAll("\n", ","); + return replaced; + } + + public int returnSum() { + return sum; + } + + public int stringParser(String parts) { + System.out.println("ok"); + return Integer.parseInt(parts); + } } diff --git a/tests/StringCalculatorTest.java b/tests/StringCalculatorTest.java index 4ec9afe..f69b0ff 100644 --- a/tests/StringCalculatorTest.java +++ b/tests/StringCalculatorTest.java @@ -1,12 +1,104 @@ -import static org.junit.Assert.*; - -import org.junit.Test; - -public class StringCalculatorTest { + import static org.junit.Assert.*; + + import org.junit.Test; + + public class StringCalculatorTest { + @Test + public void test() { +// fail("Not yet implemented"); + StringCalculator calc = new StringCalculator(); + + calc.add("5,2"); + int sum = calc.returnSum(); + assertEquals("Sum 5+2", 7, sum); + } + @Test - public void test() { - fail("Not yet implemented"); + public void test_two() { + StringCalculator calc = new StringCalculator(); + + calc.add("-1,1"); + int sum = calc.returnSum(); + assertEquals("Sum -1+1", 0, sum); + } + + @Test + public void test_three() { + StringCalculator calc = new StringCalculator(); + + calc.add("-1\n1"); + int sum = calc.returnSum(); + assertEquals("Sum -1+1", 0, sum); } - -} + + @Test + public void test_three_numbers() { + StringCalculator calc = new StringCalculator(); + + calc.add("1,2,3"); + int sum2 = calc.returnSum(); + assertEquals("Sum 1+2+3", 6, sum2); + } + @Test + public void test_three_numbers_two() { + StringCalculator calc = new StringCalculator(); + + calc.add("-1,0,5"); + int sum2 = calc.returnSum(); + assertEquals("Sum -1+0+5", 4, sum2); + } + + + @Test + public void test_three_numbers_delimiters() { + StringCalculator calc = new StringCalculator(); + + String testWord = calc.replacer("5\n5"); + + assertEquals("5\n5", "5,5", testWord); + + } + + @Test + public void test_three_numbers_different_delimiters() { + StringCalculator calc = new StringCalculator(); + + calc.add("1\n2,3"); + int sum2 = calc.returnSum(); + assertEquals("Sum 1+2+3", 6, sum2); + } + + @Test + public void test_three_numbers_different_delimiters_2() { + StringCalculator calc = new StringCalculator(); + + calc.add("1\n2\n3"); + int sum2 = calc.returnSum(); + assertEquals("Sum 1+2+3", 6, sum2); + } + + @Test + public void String_to_int() { + StringCalculator calc = new StringCalculator(); + + int parsed = calc.stringParser("5"); + assertEquals("String 5 to int 5", 5, parsed); + } + @Test + public void String_to_int_two() { + StringCalculator calc = new StringCalculator(); + + int parsed = calc.stringParser("0"); + assertEquals("String 0 to int 0", 0, parsed); + } + + @Test + public void String_to_int_three() { + StringCalculator calc = new StringCalculator(); + + int parsed = calc.stringParser("-1"); + assertEquals("String -1 to int -1", -1, parsed); + } + +} \ No newline at end of file