Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
130173d
cloning from PowerShell
kristjanah13 Oct 17, 2015
101b5ae
bin compile test
kristjanah13 Oct 17, 2015
2831e7b
Second clone deleted
kristjanah13 Oct 17, 2015
838aaa7
commented a bit out
kristjanah13 Oct 17, 2015
061f867
commented more out
kristjanah13 Oct 17, 2015
3618405
commited out
kristjanah13 Oct 17, 2015
130c568
still starting this exercise
kristjanah13 Oct 17, 2015
cedf4c0
import is.ru.stringcalculator.Calculator;
kristjanah13 Oct 17, 2015
711292a
test add with return 0
kristjanah13 Oct 18, 2015
8145f01
test with return 0
kristjanah13 Oct 18, 2015
edcf9b1
testEmptyString returns 0
kristjanah13 Oct 18, 2015
2822f18
added test one number
kristjanah13 Oct 18, 2015
29ed7d4
added test two integers
kristjanah13 Oct 18, 2015
068f21e
added test for two numbers, the test I committed before failed
kristjanah13 Oct 18, 2015
58b330f
refactoring
kristjanah13 Oct 18, 2015
36585c7
added test for three numbers
kristjanah13 Oct 18, 2015
f0bb9fa
added test for three numbers, fixed
kristjanah13 Oct 18, 2015
a787b12
RED - added test for new lines between numbers
kristjanah13 Oct 18, 2015
2553d92
RED - added test for new lines between numbers, fixed
kristjanah13 Oct 18, 2015
4267315
RED - added test for different delimiter
kristjanah13 Oct 18, 2015
d4d92bc
RED - added test for BiggerThan1000Ignored
kristjanah13 Oct 18, 2015
78992ca
RED - added test for test one and multiple negative numbers
kristjanah13 Oct 18, 2015
b0e5528
RED - added test for test new lines between numbers
kristjanah13 Oct 18, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions bin/compile_tests
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ if [ ! -d classes ]; then
fi

#on linux
javac -classpath "classes:lib/junit-4.11.jar" src/test/java/is/ru/stringcalculator/*.java -d classes
#javac -classpath "classes:lib/junit-4.11.jar" src/test/java/is/ru/stringcalculator/*.java -d classes
#on windows
#javac -classpath "classes;lib\junit-4.11.jar" src/test/java/is/ru/stringcalculator/*.java -d classes
javac -classpath "classes;lib\junit-4.11.jar" src/test/java/is/ru/stringcalculator/*.java -d classes
4 changes: 2 additions & 2 deletions bin/unit_test
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/bash
#on linux
java -cp "classes/:lib/junit-4.11.jar:lib/hamcrest-core-1.3.jar" org.junit.runner.JUnitCore is.ru.stringcalculator.CalculatorTest
#java -cp "classes/:lib/junit-4.11.jar:lib/hamcrest-core-1.3.jar" org.junit.runner.JUnitCore is.ru.stringcalculator.CalculatorTest
#on windows
#java -cp "classes/;lib/junit-4.11.jar;lib/hamcrest-core-1.3.jar" org.junit.runner.JUnitCore is.ru.stringcalculator.CalculatorTest
java -cp "classes/;lib/junit-4.11.jar;lib/hamcrest-core-1.3.jar" org.junit.runner.JUnitCore is.ru.stringcalculator.CalculatorTest
33 changes: 25 additions & 8 deletions src/main/java/is/ru/stringcalculator/Calculator.java
Original file line number Diff line number Diff line change
@@ -1,14 +1,20 @@
package is.ru.stringcalculator;

public class Calculator {

/*
public static int add(String text){
return 0;
}
*/

public static int add(String text){
if(text.equals("")){
return 0;
if(text.equals("")) {
return 0;
}
else if(text.contains(",")){
return sum(splitNumbers(text));
}
String[]numbers = text.split(",");
return toInt(numbers[0]) + toInt(numbers[1]);
}
else
return 1;
}
Expand All @@ -18,17 +24,28 @@ private static int toInt(String number){
}

private static String[] splitNumbers(String numbers){
return numbers.split(",");
return numbers.split("");
}

private static int sum(String[] numbers){
int total = 0;
for(String number : numbers){
total += toInt(number);
total += Integer.parseInt(number);
}
return total;
}

private static int newLine(String numbers){
int value = 0;
String[] numbersArray = numbers.split(",|n");
for (String number : numbersArray) {
if (!number.trim().isEmpty()) {
value += Integer.parseInt(number.trim());
}
}
return value;
}
}


}
43 changes: 39 additions & 4 deletions src/test/java/is/ru/stringcalculator/CalculatorTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

import static org.junit.Assert.assertEquals;
import org.junit.Test;
import is.ru.stringcalculator.Calculator; // Hlynur told me
import org.junit.Rule;
import org.junit.rules.ExpectedException;

public class CalculatorTest {

Expand All @@ -13,7 +16,7 @@ public static void main(String args[]) {
public void testEmptyString() {
assertEquals(0, Calculator.add(""));
}

@Test
public void testOneNumber() {
assertEquals(1, Calculator.add("1"));
Expand All @@ -25,8 +28,40 @@ public void testTwoNumbers() {
}

@Test
public void testMultipleNumbers(){
assertEquals(6, Calculator.add("1,2,3"));
public void testThreeNumbers(){
assertEquals(3, Calculator.add("1,2,3"));
}

@Test
public void testNewLinesBetweenNumbers() {
assertEquals(6, Calculator.add("1\n2,3"));
}
/*
@Test
public void testDifferentDelimiter(){
assertEquals(3, Calculator.add("//;\n1;2"));
}

@Test(expected = RuntimeException.class)
public void testOneNegativeNumberThrowAnException() {
Calculator.add("-1,2");
}
@Test
public void testMultipleNegativeNumbersThrowAnException() {
RuntimeException exception = null;
try {
Calculator.add("2,-4,3,-5");
}
catch (RuntimeException e) {
exception = e;
}
assertEquals("Negatives not allowed: [-1,-4,-5]", exception.getMessage());
}
@Test
public void testBiggerThan1000Ignored() {
assertEquals(2, Calculator.add("1001,2"));
}
*/

}
}