BAEL-183 Updated after review

This commit is contained in:
dhruba619 2017-02-11 23:57:50 +05:30
parent 1bf70b8f08
commit 23696a24bd
14 changed files with 309 additions and 249 deletions

View File

@ -5,42 +5,42 @@ import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test; import org.testng.annotations.Test;
public class DependentTests { public class DependentTests {
private EmailValidator emailValidator;
private LoginValidator loginValidator;
private String validEmail = "abc@qwe.com";
@BeforeClass
public void setup(){
emailValidator = new EmailValidator();
loginValidator = new LoginValidator();
}
@Test
public void validEmailTest() {
boolean valid = emailValidator.validate(validEmail);
Assert.assertEquals(valid, true);
}
@Test(dependsOnMethods={"validEmailTest"}) private EmailValidator emailValidator;
public void validateLogin() { private LoginValidator loginValidator;
boolean valid = loginValidator.validate(); private String validEmail = "abc@qwe.com";
Assert.assertEquals(valid, true);
} @BeforeClass
public void setup() {
emailValidator = new EmailValidator();
loginValidator = new LoginValidator();
}
@Test
public void givenEmail_ifValid_thenTrue() {
boolean valid = emailValidator.validate(validEmail);
Assert.assertEquals(valid, true);
}
@Test(dependsOnMethods = { "givenEmail_ifValid_thenTrue" })
public void givenValidEmail_whenLoggedin_thenTrue() {
boolean valid = loginValidator.validate();
Assert.assertEquals(valid, true);
}
} }
class EmailValidator{ class EmailValidator {
public boolean validate(String validEmail) {
return true;
}
public boolean validate(String validEmail) {
return true;
}
} }
class LoginValidator{ class LoginValidator {
public boolean validate() {
return true;
}
public boolean validate() {
return true;
}
} }

View File

@ -0,0 +1,21 @@
package com.baeldung.test.comparison;
import static org.junit.Assert.assertEquals;
import org.junit.BeforeClass;
import org.junit.Test;
public class DivisibilityTest {
private static int number;
@BeforeClass
public static void setup() {
number = 40;
}
@Test
public void givenNumber_whenDivisiblebyTwo_thenCorrect() {
assertEquals(number % 2, 0);
}
}

View File

@ -12,39 +12,38 @@ import org.junit.runners.Parameterized.Parameters;
@RunWith(value = Parameterized.class) @RunWith(value = Parameterized.class)
public class MyParameterisedUnitTest { public class MyParameterisedUnitTest {
private String name; private String name;
private NameCheck nameCheck; private NameCheck nameCheck;
@Before @Before
public void initialSetup() { public void initialSetup() {
nameCheck = new NameCheck(); nameCheck = new NameCheck();
} }
public MyParameterisedUnitTest(String myName) { public MyParameterisedUnitTest(String myName) {
this.name = myName; this.name = myName;
} }
@Parameters @Parameters
public static Collection<Object[]> data() { public static Collection<Object[]> data() {
Object[][] data Object[][] data = new Object[][] { { "Peter" }, { "Sam" }, { "Tim" }, { "Lucy" } };
= new Object[][] { { "Peter" }, { "Sam" }, { "Tim" }, { "Lucy" } };
return Arrays.asList(data); return Arrays.asList(data);
} }
@Test @Test
public void pushNameTest() { public void givenName_whenValidLength_thenTrue() {
boolean valid = nameCheck.nameCheck(name); boolean valid = nameCheck.nameCheck(name);
Assert.assertEquals(valid, true); Assert.assertEquals(valid, true);
} }
} }
class NameCheck{ class NameCheck {
public boolean nameCheck(String name) {
if (name.length() > 0)
return true;
return false;
}
public boolean nameCheck(String name) {
if(name.length()>0)
return true;
return false;
}
} }

View File

@ -7,74 +7,75 @@ import org.testng.annotations.Parameters;
import org.testng.annotations.Test; import org.testng.annotations.Test;
public class MyParameterisedUnitTestNg { public class MyParameterisedUnitTestNg {
private PrimeNumberCheck primeNumberChecker; private PrimeNumberCheck primeNumberChecker;
@BeforeClass @BeforeClass
public void intialSetup(){ public void intialSetup() {
primeNumberChecker = new PrimeNumberCheck(); primeNumberChecker = new PrimeNumberCheck();
} }
@Test(enabled=false) @Test(enabled = false)
@Parameters({"num","expectedResult"}) @Parameters({ "num", "expectedResult" })
public void parameterCheckTest(int number,boolean expectedResult) { public void givenNumber_ifPrime_thenCorrect(int number, boolean expectedResult) {
Assert.assertEquals(expectedResult, Assert.assertEquals(expectedResult, primeNumberChecker.validate(number));
primeNumberChecker.validate(number)); }
}
@DataProvider(name = "test1")
@DataProvider(name = "test1") public static Object[][] primeNumbers() {
public static Object[][] primeNumbers() { return new Object[][] { { 2, true }, { 6, false }, { 19, true }, { 22, false }, { 23, true } };
return new Object[][] { }
{2, true}, {6, false}, {19, true}, {22, false}, {23, true}};
} @Test(dataProvider = "test1")
public void givenNumber_whenPrime_thenCorrect(Integer inputNumber, Boolean expectedResult) {
@Test(dataProvider = "test1") Assert.assertEquals(expectedResult, primeNumberChecker.validate(inputNumber));
public void testPrimeNumberChecker(Integer inputNumber, Boolean expectedResult) { }
Assert.assertEquals(expectedResult,
primeNumberChecker.validate(inputNumber)); @Test(dataProvider = "myDataProvider")
} public void parameterCheckTest(User user) {
Assert.assertEquals("sam", user.getName());
@Test(dataProvider = "myDataProvider") Assert.assertEquals(12, user.getAge());
public void parameterCheckTest(User user) { }
Assert.assertEquals("sam",user.getName());
Assert.assertEquals(12,user.getAge()); @DataProvider(name = "myDataProvider")
} public Object[][] parameterProvider() {
User usr = new User();
@DataProvider(name = "myDataProvider") usr.setName("sam");
public Object[][] parameterProvider() { usr.setAge(12);
User usr = new User(); return new Object[][] { { usr } };
usr.setName("sam"); }
usr.setAge(12);
return new Object[][]{{usr}};
}
} }
class PrimeNumberCheck{ class PrimeNumberCheck {
public Object validate(int number) {
for (int i = 2; i < number; i++) {
if (number % i == 0)
return false;
}
return true;
}
public Object validate(int number) {
for(int i=2;i<number;i++) {
if(number%i==0)
return false;
}
return true;
}
} }
class User{ class User {
private String name; private String name;
private int age; private int age;
public String getName() {
return name; public String getName() {
} return name;
public void setName(String name) { }
this.name = name;
} public void setName(String name) {
public int getAge() { this.name = name;
return age; }
}
public void setAge(int age) { public int getAge() {
this.age = age; return age;
} }
public void setAge(int age) {
this.age = age;
}
} }

View File

@ -1,12 +0,0 @@
package com.baeldung.test.comparison;
import org.junit.Test;
public class MyTest1 {
@Test
public void suiteTest1() {
}
}

View File

@ -1,10 +0,0 @@
package com.baeldung.test.comparison;
import org.junit.Test;
public class MyTest2 {
@Test
public void suiteTest2() {
}
}

View File

@ -4,8 +4,8 @@ import org.testng.annotations.Test;
public class RegistrationTest { public class RegistrationTest {
@Test @Test
public void givenEmail_ifValid_thenCorrect(){ public void givenEmail_ifValid_thenCorrect() {
} }
} }

View File

@ -3,10 +3,10 @@ package com.baeldung.test.comparison;
import org.testng.annotations.Test; import org.testng.annotations.Test;
public class SignInTest { public class SignInTest {
@Test @Test
public void givenUsername_ifValid_thenCorrect(){ public void givenUsername_ifValid_thenCorrect() {
} }
} }

View File

@ -0,0 +1,22 @@
package com.baeldung.test.comparison;
import static org.junit.Assert.assertEquals;
import org.junit.BeforeClass;
import org.junit.Test;
public class StringCaseTest {
private static String data;
@BeforeClass
public static void setup() {
data = "HELLO BAELDUNG";
}
@Test
public void givenString_whenAllCaps_thenCorrect() {
assertEquals(data.toUpperCase(), data);
}
}

View File

@ -4,10 +4,7 @@ import org.junit.runner.RunWith;
import org.junit.runners.Suite; import org.junit.runners.Suite;
@RunWith(Suite.class) @RunWith(Suite.class)
@Suite.SuiteClasses({ @Suite.SuiteClasses({ StringCaseTest.class, DivisibilityTest.class })
MyTest1.class, public class SuiteTest {
MyTest2.class
})
public class MyTest5 {
} }

View File

@ -1,5 +1,6 @@
package com.baeldung.test.comparison; package com.baeldung.test.comparison;
import java.security.Security;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -12,49 +13,47 @@ import org.junit.Ignore;
import org.junit.Test; import org.junit.Test;
public class SummationServiceTest { public class SummationServiceTest {
private static List<Integer> numbers; private static List<Integer> numbers;
@BeforeClass @BeforeClass
public static void initialize() { public static void initialize() {
numbers = new ArrayList<>(); numbers = new ArrayList<>();
} }
@AfterClass @AfterClass
public static void tearDown() { public static void tearDown() {
numbers = null; numbers = null;
} }
@Before @Before
public void runBeforeEachTest() { public void runBeforeEachTest() {
numbers.add(1); numbers.add(1);
numbers.add(2); numbers.add(2);
numbers.add(3); numbers.add(3);
} }
@After @After
public void runAfterEachTest() { public void runAfterEachTest() {
numbers.clear(); numbers.clear();
} }
@Test @Test
public void givenNumbers_sumEquals_thenCorrect() { public void givenNumbers_sumEquals_thenCorrect() {
int sum = 0; int sum = numbers.stream()
for (int num : numbers) .reduce(0, Integer::sum);
sum += num;
Assert.assertEquals(6, sum); Assert.assertEquals(6, sum);
} }
@Ignore @Ignore
@Test @Test
public void givenEmptyList_sumEqualsZero_thenCorrect(){ public void givenEmptyList_sumEqualsZero_thenCorrect() {
int sum = 0; int sum = numbers.stream()
for (int num : numbers) .reduce(0, Integer::sum);
sum += num; Assert.assertEquals(6, sum);
Assert.assertEquals(6, sum); }
}
@Test(expected = ArithmeticException.class)
@Test(expected = ArithmeticException.class) public void givenNumber_whenThrowsException_thenCorrect() {
public void calculateWithException() { int i = 1 / 0;
int i = 1/0;
} }
} }

View File

@ -13,89 +13,82 @@ import org.testng.annotations.BeforeGroups;
import org.testng.annotations.BeforeMethod; import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test; import org.testng.annotations.Test;
public class SummationServiceTestTestNg extends TestNG{ public class SummationServiceTestTestNg extends TestNG {
private List<Integer> numbers;
private int testCount=0;
@BeforeClass
public void initialize() {
numbers = new ArrayList<>();
}
@AfterClass private List<Integer> numbers;
public void tearDown() {
numbers = null;
}
@BeforeMethod private int testCount = 0;
public void runBeforeEachTest() {
testCount++;
}
@AfterMethod @BeforeClass
public void runAfterEachTest() { public void initialize() {
numbers = new ArrayList<>();
} }
@BeforeGroups("negative_tests") @AfterClass
public void runBeforeEachNegativeGroup() { public void tearDown() {
numbers.clear(); numbers = null;
} }
@BeforeGroups("regression") @BeforeMethod
public void runBeforeEachRegressionGroup() { public void runBeforeEachTest() {
numbers.add(-11); testCount++;
numbers.add(2); }
}
@AfterMethod
@BeforeGroups("positive_tests") public void runAfterEachTest() {
public void runBeforeEachPositiveGroup() {
numbers.add(1); }
numbers.add(2);
numbers.add(3); @BeforeGroups("negative_tests")
} public void runBeforeEachNegativeGroup() {
numbers.clear();
@AfterGroups("positive_tests,regression,negative_tests") }
public void runAfterEachGroup() {
numbers.clear(); @BeforeGroups("regression")
} public void runBeforeEachRegressionGroup() {
numbers.add(-11);
@Test(groups="positive_tests",enabled=false) 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();
}
@Test(groups = "positive_tests", enabled = false)
public void givenNumbers_sumEquals_thenCorrect() { public void givenNumbers_sumEquals_thenCorrect() {
int sum = 0; int sum = numbers.stream().reduce(0, Integer::sum);
for (int num : numbers)
sum += num;
Assert.assertEquals(sum, 6); Assert.assertEquals(sum, 6);
} }
@Test(groups="negative_tests") @Test(groups = "negative_tests")
public void givenEmptyList_sumEqualsZero_thenCorrect(){ public void givenEmptyList_sumEqualsZero_thenCorrect() {
int sum = 0; int sum = numbers.stream().reduce(0, Integer::sum);
for (int num : numbers) Assert.assertEquals(0, sum);
sum += num; }
Assert.assertEquals(0, sum);
} @Test(groups = "regression")
public void givenNegativeNumber_sumLessthanZero_thenCorrect() {
@Test(groups = "regression") int sum = numbers.stream().reduce(0, Integer::sum);
public void givenNegativeNumber_sumLessthanZero_thenCorrect() { Assert.assertTrue(sum < 0);
int sum = 0; ;
for (int num : numbers) }
sum += num;
System.out.println(sum); @Test(groups = "sanity")
Assert.assertTrue(sum<0);; public void givenNumbers_doSum() {
}
}
@Test(groups="sanity")
public void givenNumbers_doSum(){ @Test(expectedExceptions = ArithmeticException.class)
public void givenNumber_whenThrowsException_thenCorrect() {
} int i = 1 / 0;
}
@Test(expectedExceptions = ArithmeticException.class)
public void calculateWithException() {
int i = 1/0;
}
} }

View File

@ -3,8 +3,9 @@ package com.baeldung.test.comparison;
import org.testng.annotations.Test; import org.testng.annotations.Test;
public class TimeOutTest { public class TimeOutTest {
@Test(timeOut = 1000,enabled=false) @Test(timeOut = 1000, enabled = false)
public void testInfinity() { public void givenExecution_takeMoreTime_thenFail() {
while (true); while (true)
} ;
}
} }

View File

@ -0,0 +1,49 @@
package temp;
import static org.junit.Assert.*;
import java.util.ArrayList;
import java.util.List;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import junit.framework.Assert;
public class SummationServiceTest {
private static List<Integer> numbers;
@BeforeClass
public static void initialize() {
numbers = new ArrayList<>();
}
@AfterClass
public static void tearDown() {
numbers = null;
}
@Before
public void runBeforeEachTest() {
numbers.add(1);
numbers.add(2);
numbers.add(3);
}
@After
public void runAfterEachTest() {
numbers.clear();
}
@Test
public void givenNumbers_sumEquals_thenCorrect() {
int sum = 0;
for (int num : numbers)
sum += num;
assertEquals(6, sum);
}
}