2017-02-18 07:31:10 +01:00
|
|
|
package baeldung.com;
|
2017-02-05 00:46:21 +05:30
|
|
|
|
2017-02-18 22:56:41 +01:00
|
|
|
import org.slf4j.Logger;
|
|
|
|
|
import org.slf4j.LoggerFactory;
|
2017-02-05 00:46:21 +05:30
|
|
|
import org.testng.Assert;
|
|
|
|
|
import org.testng.TestNG;
|
2017-02-18 07:31:10 +01:00
|
|
|
import org.testng.annotations.*;
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.List;
|
2017-02-05 00:46:21 +05:30
|
|
|
|
2017-02-18 07:31:10 +01:00
|
|
|
public class SummationServiceTest extends TestNG {
|
2017-02-18 22:56:41 +01:00
|
|
|
private static final Logger LOGGER = LoggerFactory.getLogger(DependentTests.class);
|
2017-02-11 23:57:50 +05:30
|
|
|
|
|
|
|
|
private List<Integer> numbers;
|
|
|
|
|
|
|
|
|
|
private int testCount = 0;
|
|
|
|
|
|
|
|
|
|
@BeforeClass
|
|
|
|
|
public void initialize() {
|
|
|
|
|
numbers = new ArrayList<>();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@AfterClass
|
|
|
|
|
public void tearDown() {
|
|
|
|
|
numbers = null;
|
|
|
|
|
}
|
|
|
|
|
|
2017-02-18 07:31:10 +01:00
|
|
|
@BeforeSuite(groups = "regression")
|
|
|
|
|
public void runBeforeRegressionSuite() {
|
|
|
|
|
numbers = new ArrayList<>();
|
|
|
|
|
numbers.add(-11);
|
|
|
|
|
numbers.add(2);
|
2017-02-11 23:57:50 +05:30
|
|
|
}
|
|
|
|
|
|
2017-02-18 07:31:10 +01:00
|
|
|
@AfterSuite(groups = "regression")
|
|
|
|
|
public void runAfterRegressionSuite() {
|
|
|
|
|
numbers = null;
|
2017-02-11 23:57:50 +05:30
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@BeforeGroups("negative_tests")
|
|
|
|
|
public void runBeforeEachNegativeGroup() {
|
|
|
|
|
numbers.clear();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@BeforeGroups("regression")
|
|
|
|
|
public void runBeforeEachRegressionGroup() {
|
|
|
|
|
numbers.add(-11);
|
|
|
|
|
numbers.add(2);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@BeforeGroups("positive_tests")
|
|
|
|
|
public void runBeforeEachPositiveGroup() {
|
|
|
|
|
numbers.add(1);
|
|
|
|
|
numbers.add(2);
|
|
|
|
|
numbers.add(3);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@AfterGroups("positive_tests,regression,negative_tests")
|
|
|
|
|
public void runAfterEachGroup() {
|
|
|
|
|
numbers.clear();
|
|
|
|
|
}
|
|
|
|
|
|
2017-02-18 07:31:10 +01:00
|
|
|
@BeforeMethod
|
|
|
|
|
public void runBeforeEachTest() {
|
|
|
|
|
testCount++;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@AfterMethod
|
|
|
|
|
public void runAfterEachTest() {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2017-02-11 23:57:50 +05:30
|
|
|
@Test(groups = "positive_tests", enabled = false)
|
2017-02-05 00:46:21 +05:30
|
|
|
public void givenNumbers_sumEquals_thenCorrect() {
|
2017-02-11 23:57:50 +05:30
|
|
|
int sum = numbers.stream().reduce(0, Integer::sum);
|
2017-02-05 00:46:21 +05:30
|
|
|
Assert.assertEquals(sum, 6);
|
|
|
|
|
}
|
2017-02-11 23:57:50 +05:30
|
|
|
|
|
|
|
|
@Test(groups = "negative_tests")
|
|
|
|
|
public void givenEmptyList_sumEqualsZero_thenCorrect() {
|
|
|
|
|
int sum = numbers.stream().reduce(0, Integer::sum);
|
|
|
|
|
Assert.assertEquals(0, sum);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test(groups = "regression")
|
|
|
|
|
public void givenNegativeNumber_sumLessthanZero_thenCorrect() {
|
|
|
|
|
int sum = numbers.stream().reduce(0, Integer::sum);
|
|
|
|
|
Assert.assertTrue(sum < 0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test(expectedExceptions = ArithmeticException.class)
|
|
|
|
|
public void givenNumber_whenThrowsException_thenCorrect() {
|
|
|
|
|
int i = 1 / 0;
|
|
|
|
|
}
|
|
|
|
|
|
2017-02-05 00:46:21 +05:30
|
|
|
}
|