Fully functional

Added the String Calculator to Github
This commit is contained in:
2015-04-27 14:51:03 +02:00
parent c05e86e1c5
commit 28f74050b0
3 changed files with 130 additions and 0 deletions

View File

@@ -0,0 +1,74 @@
package session1;
import static org.junit.Assert.*;
import org.junit.Test;
public class StringCalculatorTest {
public StringCalculator calculator = new StringCalculator();
@Test
public void empty_String_Return_Zero() {
// Arrange
String numbers = "";
// Act
int result = calculator.add(numbers);
// Assert
assertEquals(0, result);
}
@Test
public void non_Empty_String_Return_3() throws Exception {
String numbers = "3";
int result = calculator.add(numbers);
assertEquals(3, result);
}
@Test
public void comma_Separated_Return_Sum() throws Exception {
String numbers = "2,3";
int result = calculator.add(numbers);
assertEquals(5, result);
}
@Test
public void handle_Newlines_As_Commas() throws Exception {
String numbers = "4\n3";
int result = calculator.add(numbers);
assertEquals(7, result);
}
@Test
public void double_Separators_Throws_Exception() throws Exception {
try {
calculator.add("4\n,5");
fail();
}catch (CalculateException e) {
assertEquals("Two separators found.", e.getMessage());
}
}
@Test
public void handle_Other_Delimiters() throws Exception {
String numbers = "//;\n5;6";
int result = calculator.add(numbers);
assertEquals(11, result);
}
@Test
public void no_Negatives_Allowed() throws Exception {
try {
calculator.add("3,-4");
fail();
}catch (CalculateException e) {
assertEquals("Negatives not allowed", e.getMessage());
}
}
}