|
|
@@ -2,44 +2,55 @@ package pl.dmcs;
|
|
|
|
|
|
import org.junit.jupiter.api.Test;
|
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
|
+import static org.junit.jupiter.api.Assertions.assertThrows;
|
|
|
+
|
|
|
|
|
|
public class CalculatorTest {
|
|
|
|
|
|
private final Calculator calculator = new Calculator();
|
|
|
|
|
|
@Test
|
|
|
- public void testAddEmptyString() {
|
|
|
+ void testAddEmptyString() {
|
|
|
assertEquals(0, calculator.add(""));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
- public void testAddOneNumber() {
|
|
|
+ void testAddOneNumber() {
|
|
|
assertEquals(1, calculator.add("1"));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
- public void testAddTwoNumbers() {
|
|
|
+ void testAddTwoNumbers() {
|
|
|
assertEquals(3, calculator.add("1,2"));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
- public void testAddMultipleNumbers() {
|
|
|
+ void testAddMultipleNumbers() {
|
|
|
assertEquals(6, calculator.add("1,2,3"));
|
|
|
assertEquals(10, calculator.add("1,2,3,4"));
|
|
|
assertEquals(15, calculator.add("1,2,3,4,5"));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
- public void testAddNumbersWithNewLines() {
|
|
|
+ void testAddNumbersWithNewLines() {
|
|
|
assertEquals(6, calculator.add("1\n2,3"));
|
|
|
assertEquals(10, calculator.add("1\n2\n3,4"));
|
|
|
assertEquals(15, calculator.add("1,2\n3\n4,5"));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
- public void testAddWithCustomDelimiter() {
|
|
|
+ void testAddWithCustomDelimiter() {
|
|
|
assertEquals(3, calculator.add("//;\n1;2"));
|
|
|
assertEquals(6, calculator.add("//|\n1|2|3"));
|
|
|
assertEquals(10, calculator.add("//sep\n1sep2sep3sep4"));
|
|
|
}
|
|
|
+
|
|
|
+ @Test
|
|
|
+ void testAddWithNegativeNumbers() {
|
|
|
+ NegativeNumberException exception = assertThrows(
|
|
|
+ NegativeNumberException.class,
|
|
|
+ () -> calculator.add("1,-2,3,-4")
|
|
|
+ );
|
|
|
+ assertEquals("Negatives not allowed: [-2, -4]", exception.getMessage());
|
|
|
+ }
|
|
|
}
|