001    package com.mockrunner.struts;
002    
003    import java.util.Locale;
004    
005    import javax.sql.DataSource;
006    
007    import org.apache.commons.validator.ValidatorResources;
008    import org.apache.struts.action.Action;
009    import org.apache.struts.action.ActionForm;
010    import org.apache.struts.action.ActionForward;
011    import org.apache.struts.action.ActionMapping;
012    import org.apache.struts.action.ActionMessage;
013    import org.apache.struts.action.ActionMessages;
014    import org.apache.struts.action.DynaActionForm;
015    import org.apache.struts.config.FormBeanConfig;
016    import org.apache.struts.util.MessageResources;
017    
018    import com.mockrunner.base.BasicHTMLOutputTestCase;
019    import com.mockrunner.base.HTMLOutputModule;
020    import com.mockrunner.mock.web.ActionMockObjectFactory;
021    import com.mockrunner.mock.web.MockActionForward;
022    import com.mockrunner.mock.web.MockActionMapping;
023    import com.mockrunner.mock.web.MockPageContext;
024    import com.mockrunner.mock.web.WebMockObjectFactory;
025    
026    /**
027     * Delegator for {@link com.mockrunner.struts.ActionTestModule}. You can
028     * subclass this adapter or use {@link com.mockrunner.struts.ActionTestModule}
029     * directly (so your test case can use another base class).
030     * This basic adapter can be used if you don't need any other modules. It
031     * does not extend {@link com.mockrunner.base.BaseTestCase}. If you want
032     * to use several modules in conjunction, consider subclassing
033     * {@link com.mockrunner.struts.ActionTestCaseAdapter}.
034     * <b>This class is generated from the {@link com.mockrunner.struts.ActionTestModule}
035     * and should not be edited directly</b>.
036     */
037    public abstract class BasicActionTestCaseAdapter extends BasicHTMLOutputTestCase
038    {
039        private ActionTestModule actionTestModule;
040        private ActionMockObjectFactory actionMockObjectFactory;
041    
042        public BasicActionTestCaseAdapter()
043        {
044    
045        }
046    
047        public BasicActionTestCaseAdapter(String name)
048        {
049            super(name);
050        }
051    
052        protected void tearDown() throws Exception
053        {
054            super.tearDown();
055            actionTestModule = null;
056            actionMockObjectFactory = null;
057        }
058    
059        /**
060         * Creates the {@link com.mockrunner.struts.ActionTestModule}. If you
061         * overwrite this method, you must call <code>super.setUp()</code>.
062         */
063        protected void setUp() throws Exception
064        {
065            super.setUp();
066            actionTestModule = createActionTestModule(getActionMockObjectFactory());
067        }
068    
069        /**
070         * Creates a {@link com.mockrunner.mock.web.ActionMockObjectFactory}.
071         * @return the created {@link com.mockrunner.mock.web.ActionMockObjectFactory}
072         */
073        protected ActionMockObjectFactory createActionMockObjectFactory()
074        {
075            return new ActionMockObjectFactory();
076        }
077    
078        /**
079         * Same as <code>createActionMockObjectFactory(otherFactory, true)</code>.
080         */
081        protected ActionMockObjectFactory createActionMockObjectFactory(WebMockObjectFactory otherFactory)
082        {
083            return new ActionMockObjectFactory(otherFactory);
084        }
085    
086        /**
087         * Creates a {@link com.mockrunner.mock.web.ActionMockObjectFactory} based on another 
088         * {@link com.mockrunner.mock.web.WebMockObjectFactory}.
089         * The created {@link com.mockrunner.mock.web.ActionMockObjectFactory} will have its own
090         * request and response objects. If you set <i>createNewSession</i>
091         * to <code>true</code> it will also have its own session object.
092         * The two factories will share one <code>ServletContext</code>.
093         * Especially important for multithreading tests.
094         * If you set <i>createNewSession</i> to false, the two factories
095         * will share one session. This setting simulates multiple requests
096         * from the same client.
097         * @param otherFactory the other factory
098         * @param createNewSession create a new session for the new factory
099         * @return the created {@link com.mockrunner.mock.web.ActionMockObjectFactory}
100         */
101        protected ActionMockObjectFactory createActionMockObjectFactory(WebMockObjectFactory otherFactory, boolean createNewSession)
102        {
103            return new ActionMockObjectFactory(otherFactory, createNewSession);
104        }
105    
106        /**
107         * Gets the {@link com.mockrunner.mock.web.ActionMockObjectFactory}.
108         * @return the {@link com.mockrunner.mock.web.ActionMockObjectFactory}
109         */
110        protected ActionMockObjectFactory getActionMockObjectFactory()
111        {
112            synchronized(ActionMockObjectFactory.class)
113            {
114                if(actionMockObjectFactory == null)
115                {
116                    actionMockObjectFactory = createActionMockObjectFactory();
117                }
118            }
119            return actionMockObjectFactory;
120        }
121    
122        /**
123         * Sets the {@link com.mockrunner.mock.web.ActionMockObjectFactory}.
124         * @param actionMockObjectFactory the {@link com.mockrunner.mock.web.ActionMockObjectFactory}
125         */
126        protected void setActionMockObjectFactory(ActionMockObjectFactory actionMockObjectFactory)
127        {
128            this.actionMockObjectFactory = actionMockObjectFactory;
129        }
130    
131        /**
132         * Creates a {@link com.mockrunner.struts.ActionTestModule} based on the current
133         * {@link com.mockrunner.mock.web.ActionMockObjectFactory}.
134         * Same as <code>createActionTestModule(getActionMockObjectFactory())</code>.
135         * @return the created {@link com.mockrunner.struts.ActionTestModule}
136         */
137        protected ActionTestModule createActionTestModule()
138        {
139            return new ActionTestModule(getActionMockObjectFactory());
140        }
141    
142        /**
143         * Creates a {@link com.mockrunner.struts.ActionTestModule} with the specified
144         * {@link com.mockrunner.mock.web.ActionMockObjectFactory}.
145         * @return the created {@link com.mockrunner.struts.ActionTestModule}
146         */
147        protected ActionTestModule createActionTestModule(ActionMockObjectFactory mockFactory)
148        {
149            return new ActionTestModule(mockFactory);
150        }
151    
152        /**
153         * Returns the {@link com.mockrunner.struts.ActionTestModule} as
154         * {@link com.mockrunner.base.HTMLOutputModule}.
155         * @return the {@link com.mockrunner.base.HTMLOutputModule}
156         */
157        protected HTMLOutputModule getHTMLOutputModule()
158        {
159            return actionTestModule;
160        }
161    
162        /**
163         * Gets the {@link com.mockrunner.struts.ActionTestModule}.
164         * @return the {@link com.mockrunner.struts.ActionTestModule}
165         */
166        protected ActionTestModule getActionTestModule()
167        {
168            return actionTestModule;
169        }
170    
171        /**
172         * Sets the {@link com.mockrunner.struts.ActionTestModule}.
173         * @param actionTestModule the {@link com.mockrunner.struts.ActionTestModule}
174         */
175        protected void setActionTestModule(ActionTestModule actionTestModule)
176        {
177            this.actionTestModule = actionTestModule;
178        }
179    
180        /**
181         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setReset(boolean)}
182         */
183        protected void setReset(boolean reset)
184        {
185            actionTestModule.setReset(reset);
186        }
187    
188        /**
189         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setDoPopulate(boolean)}
190         */
191        protected void setDoPopulate(boolean doPopulate)
192        {
193            actionTestModule.setDoPopulate(doPopulate);
194        }
195    
196        /**
197         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setRecognizeMessagesInSession(boolean)}
198         */
199        protected void setRecognizeMessagesInSession(boolean recognizeInSession)
200        {
201            actionTestModule.setRecognizeMessagesInSession(recognizeInSession);
202        }
203    
204        /**
205         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setMessageAttributeKey(String)}
206         */
207        protected void setMessageAttributeKey(String messageAttributeKey)
208        {
209            actionTestModule.setMessageAttributeKey(messageAttributeKey);
210        }
211    
212        /**
213         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setErrorAttributeKey(String)}
214         */
215        protected void setErrorAttributeKey(String errorAttributeKey)
216        {
217            actionTestModule.setErrorAttributeKey(errorAttributeKey);
218        }
219    
220        /**
221         * Delegates to {@link com.mockrunner.struts.ActionTestModule#addMappedPropertyRequestPrefix(String)}
222         */
223        protected String addMappedPropertyRequestPrefix(String property)
224        {
225            return actionTestModule.addMappedPropertyRequestPrefix(property);
226        }
227    
228        /**
229         * Delegates to {@link com.mockrunner.struts.ActionTestModule#getActionMapping}
230         */
231        protected ActionMapping getActionMapping()
232        {
233            return actionTestModule.getActionMapping();
234        }
235    
236        /**
237         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setValidate(boolean)}
238         */
239        protected void setValidate(boolean validate)
240        {
241            actionTestModule.setValidate(validate);
242        }
243    
244        /**
245         * Delegates to {@link com.mockrunner.struts.ActionTestModule#addExceptionHandler(ExceptionHandlerConfig)}
246         */
247        protected void addExceptionHandler(ExceptionHandlerConfig handler)
248        {
249            actionTestModule.addExceptionHandler(handler);
250        }
251    
252        /**
253         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setResources(MessageResources)}
254         */
255        protected void setResources(MessageResources resources)
256        {
257            actionTestModule.setResources(resources);
258        }
259    
260        /**
261         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setResources(String, MessageResources)}
262         */
263        protected void setResources(String key, MessageResources resources)
264        {
265            actionTestModule.setResources(key, resources);
266        }
267    
268        /**
269         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setDataSource(DataSource)}
270         */
271        protected void setDataSource(DataSource dataSource)
272        {
273            actionTestModule.setDataSource(dataSource);
274        }
275    
276        /**
277         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setDataSource(String, DataSource)}
278         */
279        protected void setDataSource(String key, DataSource dataSource)
280        {
281            actionTestModule.setDataSource(key, dataSource);
282        }
283    
284        /**
285         * Delegates to {@link com.mockrunner.struts.ActionTestModule#createValidatorResources(String[])}
286         */
287        protected ValidatorResources createValidatorResources(String[] resourcesFiles)
288        {
289            return actionTestModule.createValidatorResources(resourcesFiles);
290        }
291    
292        /**
293         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setValidatorResources(ValidatorResources)}
294         */
295        protected void setValidatorResources(ValidatorResources validatorResources)
296        {
297            actionTestModule.setValidatorResources(validatorResources);
298        }
299    
300        /**
301         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyForward(String)}
302         */
303        protected void verifyForward(String path)
304        {
305            actionTestModule.verifyForward(path);
306        }
307    
308        /**
309         * Delegates to {@link com.mockrunner.struts.ActionTestModule#getActionForward}
310         */
311        protected MockActionForward getActionForward()
312        {
313            return actionTestModule.getActionForward();
314        }
315    
316        /**
317         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyForwardName(String)}
318         */
319        protected void verifyForwardName(String name)
320        {
321            actionTestModule.verifyForwardName(name);
322        }
323    
324        /**
325         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyRedirect(boolean)}
326         */
327        protected void verifyRedirect(boolean redirect)
328        {
329            actionTestModule.verifyRedirect(redirect);
330        }
331    
332        /**
333         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyNoActionErrors}
334         */
335        protected void verifyNoActionErrors()
336        {
337            actionTestModule.verifyNoActionErrors();
338        }
339    
340        /**
341         * Delegates to {@link com.mockrunner.struts.ActionTestModule#getActionErrors}
342         */
343        protected ActionMessages getActionErrors()
344        {
345            return actionTestModule.getActionErrors();
346        }
347    
348        /**
349         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyNoActionMessages}
350         */
351        protected void verifyNoActionMessages()
352        {
353            actionTestModule.verifyNoActionMessages();
354        }
355    
356        /**
357         * Delegates to {@link com.mockrunner.struts.ActionTestModule#getActionMessages}
358         */
359        protected ActionMessages getActionMessages()
360        {
361            return actionTestModule.getActionMessages();
362        }
363    
364        /**
365         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyHasActionErrors}
366         */
367        protected void verifyHasActionErrors()
368        {
369            actionTestModule.verifyHasActionErrors();
370        }
371    
372        /**
373         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyHasActionMessages}
374         */
375        protected void verifyHasActionMessages()
376        {
377            actionTestModule.verifyHasActionMessages();
378        }
379    
380        /**
381         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyActionErrorPresent(String)}
382         */
383        protected void verifyActionErrorPresent(String errorKey)
384        {
385            actionTestModule.verifyActionErrorPresent(errorKey);
386        }
387    
388        /**
389         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyActionMessagePresent(String)}
390         */
391        protected void verifyActionMessagePresent(String messageKey)
392        {
393            actionTestModule.verifyActionMessagePresent(messageKey);
394        }
395    
396        /**
397         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyActionErrorNotPresent(String)}
398         */
399        protected void verifyActionErrorNotPresent(String errorKey)
400        {
401            actionTestModule.verifyActionErrorNotPresent(errorKey);
402        }
403    
404        /**
405         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyActionMessageNotPresent(String)}
406         */
407        protected void verifyActionMessageNotPresent(String messageKey)
408        {
409            actionTestModule.verifyActionMessageNotPresent(messageKey);
410        }
411    
412        /**
413         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyActionErrors(String[])}
414         */
415        protected void verifyActionErrors(String[] errorKeys)
416        {
417            actionTestModule.verifyActionErrors(errorKeys);
418        }
419    
420        /**
421         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyActionMessages(String[])}
422         */
423        protected void verifyActionMessages(String[] messageKeys)
424        {
425            actionTestModule.verifyActionMessages(messageKeys);
426        }
427    
428        /**
429         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyActionErrorValues(String, Object[])}
430         */
431        protected void verifyActionErrorValues(String errorKey, Object[] values)
432        {
433            actionTestModule.verifyActionErrorValues(errorKey, values);
434        }
435    
436        /**
437         * Delegates to {@link com.mockrunner.struts.ActionTestModule#getActionErrorByKey(String)}
438         */
439        protected ActionMessage getActionErrorByKey(String errorKey)
440        {
441            return actionTestModule.getActionErrorByKey(errorKey);
442        }
443    
444        /**
445         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyActionMessageValues(String, Object[])}
446         */
447        protected void verifyActionMessageValues(String messageKey, Object[] values)
448        {
449            actionTestModule.verifyActionMessageValues(messageKey, values);
450        }
451    
452        /**
453         * Delegates to {@link com.mockrunner.struts.ActionTestModule#getActionMessageByKey(String)}
454         */
455        protected ActionMessage getActionMessageByKey(String messageKey)
456        {
457            return actionTestModule.getActionMessageByKey(messageKey);
458        }
459    
460        /**
461         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyActionErrorValue(String, Object)}
462         */
463        protected void verifyActionErrorValue(String errorKey, Object value)
464        {
465            actionTestModule.verifyActionErrorValue(errorKey, value);
466        }
467    
468        /**
469         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyActionMessageValue(String, Object)}
470         */
471        protected void verifyActionMessageValue(String messageKey, Object value)
472        {
473            actionTestModule.verifyActionMessageValue(messageKey, value);
474        }
475    
476        /**
477         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyActionErrorProperty(String, String)}
478         */
479        protected void verifyActionErrorProperty(String errorKey, String property)
480        {
481            actionTestModule.verifyActionErrorProperty(errorKey, property);
482        }
483    
484        /**
485         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyActionMessageProperty(String, String)}
486         */
487        protected void verifyActionMessageProperty(String messageKey, String property)
488        {
489            actionTestModule.verifyActionMessageProperty(messageKey, property);
490        }
491    
492        /**
493         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyNumberActionErrors(int)}
494         */
495        protected void verifyNumberActionErrors(int number)
496        {
497            actionTestModule.verifyNumberActionErrors(number);
498        }
499    
500        /**
501         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyNumberActionMessages(int)}
502         */
503        protected void verifyNumberActionMessages(int number)
504        {
505            actionTestModule.verifyNumberActionMessages(number);
506        }
507    
508        /**
509         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setActionMessages(ActionMessages)}
510         */
511        protected void setActionMessages(ActionMessages messages)
512        {
513            actionTestModule.setActionMessages(messages);
514        }
515    
516        /**
517         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setActionMessagesToSession(ActionMessages)}
518         */
519        protected void setActionMessagesToSession(ActionMessages messages)
520        {
521            actionTestModule.setActionMessagesToSession(messages);
522        }
523    
524        /**
525         * Delegates to {@link com.mockrunner.struts.ActionTestModule#getActionMessagesFromRequest}
526         */
527        protected ActionMessages getActionMessagesFromRequest()
528        {
529            return actionTestModule.getActionMessagesFromRequest();
530        }
531    
532        /**
533         * Delegates to {@link com.mockrunner.struts.ActionTestModule#getActionMessagesFromSession}
534         */
535        protected ActionMessages getActionMessagesFromSession()
536        {
537            return actionTestModule.getActionMessagesFromSession();
538        }
539    
540        /**
541         * Delegates to {@link com.mockrunner.struts.ActionTestModule#hasActionMessages}
542         */
543        protected boolean hasActionMessages()
544        {
545            return actionTestModule.hasActionMessages();
546        }
547    
548        /**
549         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setActionErrors(ActionMessages)}
550         */
551        protected void setActionErrors(ActionMessages errors)
552        {
553            actionTestModule.setActionErrors(errors);
554        }
555    
556        /**
557         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setActionErrorsToSession(ActionMessages)}
558         */
559        protected void setActionErrorsToSession(ActionMessages errors)
560        {
561            actionTestModule.setActionErrorsToSession(errors);
562        }
563    
564        /**
565         * Delegates to {@link com.mockrunner.struts.ActionTestModule#getActionErrorsFromRequest}
566         */
567        protected ActionMessages getActionErrorsFromRequest()
568        {
569            return actionTestModule.getActionErrorsFromRequest();
570        }
571    
572        /**
573         * Delegates to {@link com.mockrunner.struts.ActionTestModule#getActionErrorsFromSession}
574         */
575        protected ActionMessages getActionErrorsFromSession()
576        {
577            return actionTestModule.getActionErrorsFromSession();
578        }
579    
580        /**
581         * Delegates to {@link com.mockrunner.struts.ActionTestModule#hasActionErrors}
582         */
583        protected boolean hasActionErrors()
584        {
585            return actionTestModule.hasActionErrors();
586        }
587    
588        /**
589         * Delegates to {@link com.mockrunner.struts.ActionTestModule#getMockActionMapping}
590         */
591        protected MockActionMapping getMockActionMapping()
592        {
593            return actionTestModule.getMockActionMapping();
594        }
595    
596        /**
597         * Delegates to {@link com.mockrunner.struts.ActionTestModule#getMockPageContext}
598         */
599        protected MockPageContext getMockPageContext()
600        {
601            return actionTestModule.getMockPageContext();
602        }
603    
604        /**
605         * Delegates to {@link com.mockrunner.struts.ActionTestModule#getLastAction}
606         */
607        protected Action getLastAction()
608        {
609            return actionTestModule.getLastAction();
610        }
611    
612        /**
613         * Delegates to {@link com.mockrunner.struts.ActionTestModule#generateValidToken}
614         */
615        protected void generateValidToken()
616        {
617            actionTestModule.generateValidToken();
618        }
619    
620        /**
621         * Delegates to {@link com.mockrunner.struts.ActionTestModule#getActionForm}
622         */
623        protected ActionForm getActionForm()
624        {
625            return actionTestModule.getActionForm();
626        }
627    
628        /**
629         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setActionForm(ActionForm)}
630         */
631        protected void setActionForm(ActionForm formObj)
632        {
633            actionTestModule.setActionForm(formObj);
634        }
635    
636        /**
637         * Delegates to {@link com.mockrunner.struts.ActionTestModule#createActionForm(Class)}
638         */
639        protected ActionForm createActionForm(Class form)
640        {
641            return actionTestModule.createActionForm(form);
642        }
643    
644        /**
645         * Delegates to {@link com.mockrunner.struts.ActionTestModule#createDynaActionForm(FormBeanConfig)}
646         */
647        protected DynaActionForm createDynaActionForm(FormBeanConfig formConfig)
648        {
649            return actionTestModule.createDynaActionForm(formConfig);
650        }
651    
652        /**
653         * Delegates to {@link com.mockrunner.struts.ActionTestModule#populateRequestToForm}
654         */
655        protected void populateRequestToForm()
656        {
657            actionTestModule.populateRequestToForm();
658        }
659    
660        /**
661         * Delegates to {@link com.mockrunner.struts.ActionTestModule#actionPerform(Class, Class)}
662         */
663        protected ActionForward actionPerform(Class action, Class form)
664        {
665            return actionTestModule.actionPerform(action, form);
666        }
667    
668        /**
669         * Delegates to {@link com.mockrunner.struts.ActionTestModule#actionPerform(Class)}
670         */
671        protected ActionForward actionPerform(Class action)
672        {
673            return actionTestModule.actionPerform(action);
674        }
675    
676        /**
677         * Delegates to {@link com.mockrunner.struts.ActionTestModule#actionPerform(Action)}
678         */
679        protected ActionForward actionPerform(Action action)
680        {
681            return actionTestModule.actionPerform(action);
682        }
683    
684        /**
685         * Delegates to {@link com.mockrunner.struts.ActionTestModule#actionPerform(Action, ActionForm)}
686         */
687        protected ActionForward actionPerform(Action action, ActionForm form)
688        {
689            return actionTestModule.actionPerform(action, form);
690        }
691    
692        /**
693         * Delegates to {@link com.mockrunner.struts.ActionTestModule#actionPerform(Action, Class)}
694         */
695        protected ActionForward actionPerform(Action action, Class form)
696        {
697            return actionTestModule.actionPerform(action, form);
698        }
699    
700        /**
701         * Delegates to {@link com.mockrunner.struts.ActionTestModule#actionPerform(Class, ActionForm)}
702         */
703        protected ActionForward actionPerform(Class action, ActionForm form)
704        {
705            return actionTestModule.actionPerform(action, form);
706        }
707    
708        /**
709         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setLocale(Locale)}
710         */
711        protected void setLocale(Locale locale)
712        {
713            actionTestModule.setLocale(locale);
714        }
715    
716        /**
717         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setInput(String)}
718         */
719        protected void setInput(String input)
720        {
721            actionTestModule.setInput(input);
722        }
723    
724        /**
725         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setParameter(String)}
726         */
727        protected void setParameter(String parameter)
728        {
729            actionTestModule.setParameter(parameter);
730        }
731    }