Commit c298b4fa63617e63d37d03010e9e9e9028fd1069

Authored by Ednara Oliveira
1 parent c20d0c4b
Exists in master

Testes de Exceção

impl/core/src/test/java/exception/CustomException.java 0 → 100644
... ... @@ -0,0 +1,11 @@
  1 +package exception;
  2 +
  3 +import br.gov.frameworkdemoiselle.exception.ApplicationException;
  4 +
  5 +
  6 +@ApplicationException
  7 +public class CustomException extends RuntimeException {
  8 +
  9 + private static final long serialVersionUID = 1L;
  10 +
  11 +}
0 12 \ No newline at end of file
... ...
impl/core/src/test/java/exception/CustomExceptionHandler.java 0 → 100644
... ... @@ -0,0 +1,27 @@
  1 +package exception;
  2 +
  3 +import br.gov.frameworkdemoiselle.exception.ExceptionHandler;
  4 +import br.gov.frameworkdemoiselle.stereotype.Controller;
  5 +
  6 +@Controller
  7 +public class CustomExceptionHandler {
  8 +
  9 + private boolean exceptionHandler = false;
  10 +
  11 + public boolean isExceptionHandler() {
  12 + return exceptionHandler;
  13 + }
  14 +
  15 + public void setExceptionHandler(boolean exceptionHandler) {
  16 + this.exceptionHandler = exceptionHandler;
  17 + }
  18 +
  19 + public void throwExceptionWithMessage() {
  20 + throw new CustomException();
  21 + }
  22 +
  23 + @ExceptionHandler
  24 + public void handler(CustomException exception) {
  25 + setExceptionHandler(true);
  26 + }
  27 +}
... ...
impl/core/src/test/java/exception/CustomExceptionTest.java 0 → 100644
... ... @@ -0,0 +1,32 @@
  1 +package exception;
  2 +
  3 +import static junit.framework.Assert.assertEquals;
  4 +
  5 +import javax.inject.Inject;
  6 +
  7 +import org.jboss.arquillian.container.test.api.Deployment;
  8 +import org.jboss.arquillian.junit.Arquillian;
  9 +import org.jboss.shrinkwrap.api.spec.JavaArchive;
  10 +import org.junit.Test;
  11 +import org.junit.runner.RunWith;
  12 +
  13 +import test.Tests;
  14 +
  15 +@RunWith(Arquillian.class)
  16 +public class CustomExceptionTest {
  17 +
  18 + @Inject
  19 + private CustomExceptionHandler exception;
  20 +
  21 + @Deployment
  22 + public static JavaArchive createDeployment() {
  23 + JavaArchive deployment = Tests.createDeployment(CustomExceptionTest.class);
  24 + return deployment;
  25 + }
  26 +
  27 + @Test
  28 + public void testCustomExceptionHandler() {
  29 + exception.throwExceptionWithMessage();
  30 + assertEquals(true, exception.isExceptionHandler());
  31 + }
  32 +}
... ...
impl/core/src/test/java/exception/ExceptionInheritance.java 0 → 100644
... ... @@ -0,0 +1,39 @@
  1 +package exception;
  2 +
  3 +import br.gov.frameworkdemoiselle.exception.ExceptionHandler;
  4 +import br.gov.frameworkdemoiselle.stereotype.Controller;
  5 +
  6 +@Controller
  7 +public class ExceptionInheritance {
  8 +
  9 + private boolean handlerSuperClass = false;
  10 +
  11 + private boolean handlerClass = false;
  12 +
  13 + public boolean isHandlerSuperClass() {
  14 + return handlerSuperClass;
  15 + }
  16 +
  17 + public boolean isHandlerClass() {
  18 + return handlerClass;
  19 + }
  20 +
  21 + public void throwNullPointerException() {
  22 + throw new NullPointerException();
  23 + }
  24 +
  25 + public void throwArithmeticException() {
  26 + throw new ArithmeticException();
  27 + }
  28 +
  29 + @ExceptionHandler
  30 + public void handle(ArithmeticException e) {
  31 + handlerClass = true;
  32 + }
  33 +
  34 + @ExceptionHandler
  35 + public void handle(RuntimeException e) {
  36 + handlerSuperClass = true;
  37 + }
  38 +
  39 +}
... ...
impl/core/src/test/java/exception/ExceptionInheritanceTest.java 0 → 100644
... ... @@ -0,0 +1,39 @@
  1 +package exception;
  2 +
  3 +import static junit.framework.Assert.assertEquals;
  4 +
  5 +import javax.inject.Inject;
  6 +
  7 +import org.jboss.arquillian.container.test.api.Deployment;
  8 +import org.jboss.arquillian.junit.Arquillian;
  9 +import org.jboss.shrinkwrap.api.spec.JavaArchive;
  10 +import org.junit.Test;
  11 +import org.junit.runner.RunWith;
  12 +
  13 +import test.Tests;
  14 +
  15 +@RunWith(Arquillian.class)
  16 +public class ExceptionInheritanceTest {
  17 +
  18 + @Inject
  19 + private ExceptionInheritance exceptionInheritance;
  20 +
  21 + @Deployment
  22 + public static JavaArchive createDeployment() {
  23 + JavaArchive deployment = Tests.createDeployment(ExceptionInheritanceTest.class);
  24 + return deployment;
  25 + }
  26 +
  27 + @Test
  28 + public void testExceptionInheritanceSuperClass() {
  29 + exceptionInheritance.throwNullPointerException();
  30 + assertEquals(true, exceptionInheritance.isHandlerSuperClass());
  31 + }
  32 +
  33 + @Test
  34 + public void testExceptionInheritanceClass() {
  35 + exceptionInheritance.throwArithmeticException();
  36 + assertEquals(false, exceptionInheritance.isHandlerSuperClass());
  37 + assertEquals(true, exceptionInheritance.isHandlerClass());
  38 + }
  39 +}
... ...
impl/core/src/test/java/exception/MultiException.java
1 1 package exception;
2 2  
  3 +import java.awt.geom.IllegalPathStateException;
  4 +
3 5 import br.gov.frameworkdemoiselle.exception.ExceptionHandler;
4 6 import br.gov.frameworkdemoiselle.stereotype.Controller;
5 7  
... ... @@ -9,7 +11,7 @@ public class MultiException {
9 11 private boolean nullPointerExceptionHandler = false;
10 12  
11 13 private boolean arithmeticExceptionHandler = false;
12   -
  14 +
13 15 public boolean isNullPointerExceptionHandler() {
14 16 return nullPointerExceptionHandler;
15 17 }
... ... @@ -17,15 +19,15 @@ public class MultiException {
17 19 public boolean isArithmeticExceptionHandler() {
18 20 return arithmeticExceptionHandler;
19 21 }
20   -
21   - public void throwExceptionNullPointer() {
  22 +
  23 + public void throwNullPointerException() {
22 24 throw new NullPointerException();
23 25 }
24 26  
25   - public void throwExceptionArithmetic() {
  27 + public void throwArithmeticException() {
26 28 throw new ArithmeticException();
27 29 }
28   -
  30 +
29 31 @SuppressWarnings({ "null", "unused" })
30 32 public void throwTwoException() {
31 33 String txt = null;
... ... @@ -41,5 +43,5 @@ public class MultiException {
41 43 @ExceptionHandler
42 44 public void handler(ArithmeticException cause) {
43 45 arithmeticExceptionHandler = true;
44   - }
  46 + }
45 47 }
... ...
impl/core/src/test/java/exception/MultiExceptionOneHandler.java 0 → 100644
... ... @@ -0,0 +1,18 @@
  1 +package exception;
  2 +
  3 +import java.awt.geom.IllegalPathStateException;
  4 +
  5 +import br.gov.frameworkdemoiselle.exception.ExceptionHandler;
  6 +import br.gov.frameworkdemoiselle.stereotype.Controller;
  7 +
  8 +@Controller
  9 +public class MultiExceptionOneHandler {
  10 +
  11 + public void throwIllegalPathException() {
  12 + throw new IllegalPathStateException();
  13 + }
  14 +
  15 + @ExceptionHandler
  16 + public void handler(IllegalPathStateException cause, IllegalStateException cause2) {
  17 + }
  18 +}
... ...
impl/core/src/test/java/exception/MultiExceptionTest.java
... ... @@ -11,6 +11,8 @@ import org.jboss.shrinkwrap.api.spec.JavaArchive;
11 11 import org.junit.Test;
12 12 import org.junit.runner.RunWith;
13 13  
  14 +import br.gov.frameworkdemoiselle.DemoiselleException;
  15 +
14 16 import test.Tests;
15 17  
16 18 @RunWith(Arquillian.class)
... ... @@ -18,6 +20,9 @@ public class MultiExceptionTest {
18 20  
19 21 @Inject
20 22 private MultiException multiException;
  23 +
  24 + @Inject
  25 + private MultiExceptionOneHandler multiExceptionOneHandler;
21 26  
22 27 @Deployment
23 28 public static JavaArchive createDeployment() {
... ... @@ -27,13 +32,13 @@ public class MultiExceptionTest {
27 32  
28 33 @Test
29 34 public void testNullPointerExceptionHandler() {
30   - multiException.throwExceptionNullPointer();
  35 + multiException.throwNullPointerException();
31 36 assertEquals(true, multiException.isNullPointerExceptionHandler());
32 37 }
33 38  
34 39 @Test
35 40 public void testArithmeticExceptionHandler() {
36   - multiException.throwExceptionArithmetic();
  41 + multiException.throwArithmeticException();
37 42 assertEquals(true, multiException.isArithmeticExceptionHandler());
38 43 }
39 44  
... ... @@ -43,4 +48,14 @@ public class MultiExceptionTest {
43 48 assertEquals(true, multiException.isNullPointerExceptionHandler());
44 49 assertEquals(true, multiException.isArithmeticExceptionHandler());
45 50 }
  51 +
  52 + @Test
  53 + public void testExceptionHandlerWithTwoException() {
  54 + try {
  55 + multiExceptionOneHandler.throwIllegalPathException();
  56 + fail();
  57 + } catch (Exception e) {
  58 + assertEquals(DemoiselleException.class, e.getClass());
  59 + }
  60 + }
46 61 }
... ...