Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
3 changes: 3 additions & 0 deletions bin/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
/StringCalculator.class
/StringCalculatorException.class
/StringCalculatorTest.class
Binary file modified bin/StringCalculator.class
Binary file not shown.
Binary file modified bin/StringCalculatorTest.class
Binary file not shown.
29 changes: 27 additions & 2 deletions src/StringCalculator.java
Original file line number Diff line number Diff line change
@@ -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);
}
}
110 changes: 101 additions & 9 deletions tests/StringCalculatorTest.java
Original file line number Diff line number Diff line change
@@ -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);
}

}