View Javadoc

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   * Created by IntelliJ IDEA.
16  * User: mathias
17  * Date: 18.03.2007
18  * Time: 01:22:02
19  * To change this template use File | Settings | File Templates.
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  }