1 package org.apache.myfaces.config.annotation;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 import org.apache.myfaces.test.base.AbstractJsfTestCase;
21
22 import javax.naming.NamingException;
23 import java.lang.reflect.InvocationTargetException;
24
25
26 public class AnnotationProcessorTestCase extends AbstractJsfTestCase
27 {
28 protected LifecycleProvider2 lifecycleProvider;
29 protected AnnotatedManagedBean managedBean;
30
31
32 public AnnotationProcessorTestCase(String string)
33 {
34 super(string);
35 }
36
37 public void setUp() throws Exception {
38 super.setUp();
39 lifecycleProvider = new AllAnnotationLifecycleProvider(null);
40 managedBean = new AnnotatedManagedBean();
41 }
42
43 public void testPostConstruct() throws IllegalAccessException, InvocationTargetException, NamingException, InstantiationException, ClassNotFoundException
44 {
45 AnnotatedManagedBean managedBean = (AnnotatedManagedBean) lifecycleProvider.newInstance(AnnotatedManagedBean.class.getName());
46 lifecycleProvider.postConstruct(managedBean);
47 assertTrue(managedBean.isPostConstructCalled());
48 assertFalse(managedBean.isPreDestroyCalled());
49 }
50
51 public void testPreDestroy() throws IllegalAccessException, InvocationTargetException, NamingException, InstantiationException, ClassNotFoundException
52 {
53 AnnotatedManagedBean managedBean = (AnnotatedManagedBean) lifecycleProvider.newInstance(AnnotatedManagedBean.class.getName());
54 lifecycleProvider.postConstruct(managedBean);
55 lifecycleProvider.destroyInstance(managedBean);
56 assertTrue(managedBean.isPostConstructCalled());
57 assertTrue(managedBean.isPreDestroyCalled());
58 }
59
60 public void testPostConstructException() throws IllegalAccessException, InvocationTargetException
61 {
62 try
63 {
64 lifecycleProvider.destroyInstance(new AnnotatedManagedBean(true));
65 } catch (InvocationTargetException e) {
66 return;
67 }
68 assertTrue(false);
69
70 }
71 }