?? webannotationstestbase.java
字號:
package org.codehaus.xfire.annotations;import java.lang.reflect.Method;import org.codehaus.xfire.aegis.AbstractXFireAegisTest;import org.codehaus.xfire.annotations.soap.SOAPBindingAnnotation;/** * Base class for unit tests that determine annotations. * * @author Arjen Poutsma */public abstract class WebAnnotationsTestBase extends AbstractXFireAegisTest{ protected WebAnnotations webAnnotations; protected Class echoServiceClass; protected Class thisClass; protected Method echoMethod; protected Method asyncMethod; protected Method dummyMethod; public void setUp() throws Exception { super.setUp(); webAnnotations = getWebAnnotations(); echoServiceClass = getEchoServiceClass(); thisClass = getClass(); echoMethod = echoServiceClass.getMethod("echo", new Class[]{String.class}); asyncMethod = echoServiceClass.getMethod("async", new Class[0]); dummyMethod = thisClass.getMethod("dummy", new Class[]{String.class}); } public void dummy(String s) { // required for negative testing } protected abstract WebAnnotations getWebAnnotations(); protected abstract Class getEchoServiceClass(); public void testHasWebServiceAnnotation() throws Exception { assertTrue("WebServiceAnnotation not set", webAnnotations.hasWebServiceAnnotation(echoServiceClass)); } public void testHasNoWebServiceAnnotation() throws Exception { assertFalse("WebServiceAnnotation set", webAnnotations.hasWebServiceAnnotation(thisClass)); } public void testHasWebMethodAnnotation() throws Exception { assertTrue("WebMethodAnnotation not set", webAnnotations.hasWebMethodAnnotation(echoMethod)); } public void testHasNoWebMethodAnnotation() throws Exception { assertFalse("WebMethodAnnotation set", webAnnotations.hasWebMethodAnnotation(dummyMethod)); } public void testHasWebResultAnnotation() throws Exception { assertTrue("WebResultAnnotation not set", webAnnotations.hasWebResultAnnotation(echoMethod)); } public void testHasNoWebResultAnnotation() throws Exception { assertFalse("WebResultAnnotation set", webAnnotations.hasWebResultAnnotation(dummyMethod)); } public void testHasWebParamAnnotation() throws Exception { assertTrue("WebParamAnnotation not set", webAnnotations.hasWebParamAnnotation(echoMethod, 0)); } public void testHasNoWebParamAnnotation() throws Exception { assertFalse("WebParamAnnotation set", webAnnotations.hasWebParamAnnotation(dummyMethod, 0)); } public void testHasOnewayAnnotation() throws Exception { assertTrue("OnewayAnnotation not set", webAnnotations.hasOnewayAnnotation(asyncMethod)); } public void testHasNoOnewayAnnotation() throws Exception { assertFalse("OnewayAnnotation set", webAnnotations.hasOnewayAnnotation(dummyMethod)); } public void testHasSOAPBindingAnnotation() throws Exception { assertTrue("SOAPBindingAnnotation not set", webAnnotations.hasSOAPBindingAnnotation(echoServiceClass)); } public void testHasNoSOAPBindingAnnotation() throws Exception { assertFalse("SOAPBindingAnnotation set", webAnnotations.hasSOAPBindingAnnotation(thisClass)); } public void testGetWebServiceAnnotation() throws Exception { WebServiceAnnotation webService = webAnnotations.getWebServiceAnnotation(echoServiceClass); assertNotNull(webService); assertEquals("EchoService", webService.getName()); assertEquals("http://www.openuri.org/2004/04/HelloWorld", webService.getTargetNamespace()); } public void testGetNullWebServiceAnnotation() throws Exception { WebServiceAnnotation webService = webAnnotations.getWebServiceAnnotation(thisClass); assertNull(webService); } public void testGetWebMethodAnnotation() throws Exception { WebMethodAnnotation webMethod = webAnnotations.getWebMethodAnnotation(echoMethod); assertNotNull(webMethod); assertEquals("echoString", webMethod.getOperationName()); assertEquals("urn:EchoString", webMethod.getAction()); } public void testGetNullWebMethodAnnotation() throws Exception { WebMethodAnnotation webMethod = webAnnotations.getWebMethodAnnotation(dummyMethod); assertNull(webMethod); } public void testGetWebResultAnnotation() throws Exception { WebResultAnnotation webResult = webAnnotations.getWebResultAnnotation(echoMethod); assertNotNull(webResult); assertEquals("echoResult", webResult.getName()); } public void testGetNullWebResultAnnotation() throws Exception { WebResultAnnotation webResult = webAnnotations.getWebResultAnnotation(dummyMethod); assertNull(webResult); } public void testGetWebParamAnnotation() throws Exception { WebParamAnnotation webParam = webAnnotations.getWebParamAnnotation(echoMethod, 0); assertNotNull(webParam); assertEquals("echoParam", webParam.getName()); } public void testGetNullWebParamAnnotation() throws Exception { WebParamAnnotation webParam = webAnnotations.getWebParamAnnotation(dummyMethod, 0); assertNull(webParam); } public void testGetSOAPBindingAnnotation() throws Exception { SOAPBindingAnnotation soapBinding = webAnnotations.getSOAPBindingAnnotation(echoServiceClass); assertNotNull(soapBinding); assertEquals(SOAPBindingAnnotation.STYLE_RPC, soapBinding.getStyle()); assertEquals(SOAPBindingAnnotation.USE_LITERAL, soapBinding.getUse()); assertEquals(SOAPBindingAnnotation.PARAMETER_STYLE_WRAPPED, soapBinding.getParameterStyle()); }}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -