01: /*
02: * Copyright 2005-2006 the original author or authors.
03: *
04: * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
05: * in compliance with the License. You may obtain a copy of the License at
06: *
07: * http://www.apache.org/licenses/LICENSE-2.0
08: *
09: * Unless required by applicable law or agreed to in writing, software distributed under the License
10: * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
11: * or implied. See the License for the specific language governing permissions and limitations under
12: * the License.
13: */
14:
15: package org.strecks.navigate.factory;
16:
17: import org.apache.struts.action.ActionForward;
18: import org.strecks.exceptions.ApplicationConfigurationException;
19: import org.strecks.navigate.NavigationHandler;
20: import org.strecks.navigate.handler.ActionForwardNavigationHandler;
21: import org.strecks.navigate.handler.MappingNavigationHandler;
22: import org.strecks.navigate.handler.PageNavigationHandler;
23: import org.strecks.navigate.handler.ViewAdapterNavigationHandler;
24: import org.strecks.page.Page;
25: import org.strecks.view.ViewAdapter;
26: import org.testng.annotations.BeforeMethod;
27: import org.testng.annotations.Test;
28:
29: /**
30: * @author Phil Zoio
31: */
32: public class TestDefaultNavigationHandlerFactory {
33:
34: private DefaultNavigationHandlerFactory factory;
35:
36: @BeforeMethod
37: public void setUp() {
38: factory = new DefaultNavigationHandlerFactory();
39: }
40:
41: @Test
42: public void testString() {
43: NavigationHandler navigationHandler = factory
44: .getNavigationHandler("beanClass", String.class);
45: assert navigationHandler instanceof MappingNavigationHandler;
46: }
47:
48: @Test
49: public void testActionForward() {
50: NavigationHandler navigationHandler = factory
51: .getNavigationHandler("beanClass", ActionForward.class);
52: assert navigationHandler instanceof ActionForwardNavigationHandler;
53: }
54:
55: @Test
56: public void testPageClass() {
57: NavigationHandler navigationHandler = factory
58: .getNavigationHandler("beanClass", Page.class);
59: assert navigationHandler instanceof PageNavigationHandler;
60: }
61:
62: @Test
63: public void testViewAdapter() {
64: NavigationHandler navigationHandler = factory
65: .getNavigationHandler("beanClass", ViewAdapter.class);
66: assert navigationHandler instanceof ViewAdapterNavigationHandler;
67: }
68:
69: @Test(expectedExceptions=ApplicationConfigurationException.class)
70: public void testUnsupported() {
71: factory.getNavigationHandler("beanClass", Integer.class);
72: }
73: }
|