1 package javax.faces.component;
2
3 import java.lang.reflect.Method;
4 import java.util.Collection;
5 import java.util.ArrayList;
6
7 import javax.faces.context.FacesContext;
8 import javax.faces.render.Renderer;
9
10 import org.easymock.classextension.IMocksControl;
11 import org.easymock.classextension.EasyMock;
12 import org.testng.annotations.BeforeMethod;
13
14
15
16
17
18
19
20
21 public abstract class AbstractUIComponentBaseTest
22 {
23 protected UIComponentBase _testImpl;
24 protected IMocksControl _mocksControl;
25 protected FacesContext _facesContext;
26 protected Renderer _renderer;
27
28 @BeforeMethod(alwaysRun = true)
29 protected void setUp() throws Exception
30 {
31 _mocksControl = EasyMock.createControl();
32 _facesContext = _mocksControl.createMock(FacesContext.class);
33 _testImpl = _mocksControl.createMock(UIComponentBase.class, getMockedMethodsArray());
34 _renderer = _mocksControl.createMock(Renderer.class);
35 }
36
37 protected final Method[] getMockedMethodsArray() throws Exception
38 {
39 Collection<Method> mockedMethods = getMockedMethods();
40 return mockedMethods.toArray(new Method[mockedMethods.size()]);
41 }
42
43 protected Collection<Method> getMockedMethods() throws Exception
44 {
45 Collection<Method> methods = new ArrayList<Method>();
46 methods.add(UIComponentBase.class.getDeclaredMethod("getRenderer", new Class[]{FacesContext.class}));
47 methods.add(UIComponentBase.class.getDeclaredMethod("getFacesContext", null));
48 methods.add(UIComponentBase.class.getDeclaredMethod("getParent", null));
49 methods.add(UIComponentBase.class
50 .getDeclaredMethod("getPathToComponent", new Class[]{UIComponent.class}));
51
52 return methods;
53 }
54 }