You are viewing a plain text version of this content. The canonical link for it is here.
Posted to woden-dev@ws.apache.org by gt...@apache.org on 2007/01/28 00:35:40 UTC

svn commit: r500689 - in /incubator/woden/trunk/java/test/org/apache/woden: tests/ wsdl20/xml/

Author: gturrell
Date: Sat Jan 27 15:35:39 2007
New Revision: 500689

URL: http://svn.apache.org/viewvc?view=rev&rev=500689
Log:
[WODEN-55] Part 1 - Created unit tests for API methods of all the Binding*Element classes (5)

Added:
    incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/BindingElementTest.java
    incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/BindingFaultElementTest.java
    incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/BindingFaultReferenceElementTest.java
    incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/BindingMessageReferenceElementTest.java
    incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/BindingOperationElementTest.java
Modified:
    incubator/woden/trunk/java/test/org/apache/woden/tests/AllWodenTestsDOM.java

Modified: incubator/woden/trunk/java/test/org/apache/woden/tests/AllWodenTestsDOM.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/test/org/apache/woden/tests/AllWodenTestsDOM.java?view=diff&rev=500689&r1=500688&r2=500689
==============================================================================
--- incubator/woden/trunk/java/test/org/apache/woden/tests/AllWodenTestsDOM.java (original)
+++ incubator/woden/trunk/java/test/org/apache/woden/tests/AllWodenTestsDOM.java Sat Jan 27 15:35:39 2007
@@ -49,6 +49,11 @@
 import org.apache.woden.wsdl20.extensions.soap.SOAPBindingFaultReferenceExtensionsTest;
 import org.apache.woden.wsdl20.extensions.soap.SOAPBindingMessageReferenceExtensionsTest;
 import org.apache.woden.wsdl20.extensions.soap.SOAPBindingOperationExtensionsTest;
+import org.apache.woden.wsdl20.xml.BindingElementTest;
+import org.apache.woden.wsdl20.xml.BindingFaultElementTest;
+import org.apache.woden.wsdl20.xml.BindingFaultReferenceElementTest;
+import org.apache.woden.wsdl20.xml.BindingMessageReferenceElementTest;
+import org.apache.woden.wsdl20.xml.BindingOperationElementTest;
 import org.apache.woden.wsdl20.xml.DescriptiontElementTest;
 import org.apache.woden.wsdl20.xml.EndpointElementTest;
 import org.apache.woden.wsdl20.xml.ImportElementTest;
@@ -142,6 +147,11 @@
     addTest(InterfaceOperationTest.suite());
     addTest(InterfaceFaultReferenceTest.suite());
     addTest(InterfaceMessageReferenceTest.suite());
+    addTest(BindingElementTest.suite());
+    addTest(BindingFaultElementTest.suite());
+    addTest(BindingOperationElementTest.suite());
+    addTest(BindingFaultReferenceElementTest.suite());
+    addTest(BindingMessageReferenceElementTest.suite());
     //TODO in-progress 30May06 tests for BindingOpExt and BindingMsgRefExt
   }
 

Added: incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/BindingElementTest.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/BindingElementTest.java?view=auto&rev=500689
==============================================================================
--- incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/BindingElementTest.java (added)
+++ incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/BindingElementTest.java Sat Jan 27 15:35:39 2007
@@ -0,0 +1,196 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0 
+ * 
+ * Unless required by applicable law or agreed to in writing, software 
+ * distributed under the License is distributed on an "AS IS" BASIS, 
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+ * See the License for the specific language governing permissions and 
+ * limitations under the License.
+ */
+package org.apache.woden.wsdl20.xml;
+
+import java.net.URI;
+import java.util.Arrays;
+import java.util.List;
+
+import javax.xml.namespace.QName;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.apache.woden.internal.wsdl20.DescriptionImpl;
+import org.apache.woden.types.NCName;
+
+/**
+ * Unit tests for the BindingElement class.
+ * 
+ * @author Graham Turrell (gturrell@apache.org)
+ */
+public class BindingElementTest extends TestCase {
+
+	// create a parent Description to hang the Bindings off
+	private DescriptionElement fDescriptionElement = null;
+	private BindingElement fBindingElement = null;
+	private URI fTypeURI = null;
+	
+	public static Test suite()
+	{
+	   return new TestSuite(BindingElementTest.class);
+	}
+	   
+    /*
+     * @see TestCase#setUp()
+     */
+    protected void setUp() throws Exception 
+    {
+        super.setUp();
+        fDescriptionElement = new DescriptionImpl();
+        fBindingElement = fDescriptionElement.addBindingElement();
+        fTypeURI = new URI("http://www.w3.org/0000/00/apacheType");
+    }
+
+    /*
+     * @see TestCase#tearDown()
+     */
+    protected void tearDown() throws Exception 
+    {
+        super.tearDown();
+    }
+	
+    /*
+     * Optional attribute ("interface")
+     * - setInterfaceName() 
+     * - getInterfaceName() 
+     */
+	public void testGetSetInterfaceName() 
+	{	
+		// check the default
+		QName uri = fBindingElement.getInterfaceName();
+		assertNull("Retrieved BindingElement interface name should be null if none set -", uri);
+		
+		fBindingElement.setInterfaceName(new QName("InterfaceName"));
+		uri = fBindingElement.getInterfaceName();
+		assertNotNull(uri);
+		assertEquals("Retrieved BindingElement interface name does not match that set -", "InterfaceName", uri.toString());
+	}
+	
+	/* Utility method to obtain the InterfaceElement referenced by the (optional) "interface" attribute 
+     * - getInterfaceElement() 
+     */
+	public void testGetInterfaceElement() 
+	{		
+		// check the default:
+		InterfaceElement retrievedInterfaceElement = fBindingElement.getInterfaceElement();
+		assertNull("Retrieved Interface Element should be null if none set -", retrievedInterfaceElement);
+
+		// Create and name an Interface Element
+		DescriptionElement desc = new DescriptionImpl();
+		InterfaceElement interfaceElement = desc.addInterfaceElement();
+		interfaceElement.setName(new NCName("interface1"));
+		
+		// Create a binding from the description and 
+		fBindingElement = desc.addBindingElement();
+	
+		// getInterfaceElement() - interface attribute unspecified, but hierarchy in place:
+		retrievedInterfaceElement = fBindingElement.getInterfaceElement();
+		assertNull("Retrieved Interface Element should be null if interface attribute unspecified -", retrievedInterfaceElement);
+		
+		// getInterfaceElement() - interface attribute specified, and hierarchy in place:
+		// Set the "interface" attribute to reference the new Interface Element
+		fBindingElement.setInterfaceName(new QName("interface1"));
+		retrievedInterfaceElement = fBindingElement.getInterfaceElement();
+		assertEquals("Retrieved Interface Element was not that expected -", interfaceElement, retrievedInterfaceElement);
+	}   
+	
+    /*
+     * Mandatory attribute ("name")
+     * - setName() 
+     * - getName() 
+     */
+	public void testGetSetName() 
+	{	
+		fBindingElement.setName(new NCName("BindingName"));
+		QName uri = fBindingElement.getName();
+		assertNotNull(uri);
+		assertEquals("Retrieved BindingElement name does not match that set -", "BindingName", uri.toString());
+	}
+
+    /*
+     * Mandatory attribute ("type")
+     * - setType() 
+     * - getType() 
+     */
+	public void testGetSetType() 
+	{	
+		fBindingElement.setType(fTypeURI);
+		URI uri = fBindingElement.getType();
+		assertEquals("Retrieved BindingElement type attribute does not match that set -", fTypeURI, uri);
+	}
+	
+	
+	/*
+     * Optional element ("fault")
+     * - addBindingFaultElement() 
+     * - getBindingFaultElements() 
+     */
+	public void testAddGetBindingFaultElements() 
+	{		
+		// check the default:
+		BindingFaultElement[] bfeArray = fBindingElement.getBindingFaultElements();
+		assertNotNull("Expected an array of BindingFaultElements -", bfeArray);
+		assertEquals("Retrieved BindingFaultElement group should be empty if none set -", 0, bfeArray.length);
+
+		// addBindingFaultElement()
+		BindingFaultElement bfe1 = fBindingElement.addBindingFaultElement();
+		BindingFaultElement bfe2 = fBindingElement.addBindingFaultElement();
+		assertNotNull(bfe1);
+		assertNotNull(bfe2);
+
+		// getBindingFaultElements()
+		bfeArray = fBindingElement.getBindingFaultElements();
+		assertNotNull("Expected an array of BindingFaultElements -", bfeArray);
+		assertEquals("Incorrect number of retrieved BindingFaultElements -", 2, bfeArray.length);
+
+		// verify all Fault objects returned
+		List bfeL = Arrays.asList(bfeArray);
+		assertTrue(bfeL.contains(bfe1));
+		assertTrue(bfeL.contains(bfe2));
+	}    
+    
+	/*
+     * Optional element ("operation")
+     * - addBindingOperationElement() 
+     * - getBindingOperationElements() 
+     */
+	public void testAddGetBindingOperationElements() 
+	{		
+		// check the default:
+		BindingOperationElement[] bopArray = fBindingElement.getBindingOperationElements();
+		assertNotNull("Expected an array of BindingOperationElements -", bopArray);
+		assertEquals("Retrieved BindingOperationElement group should be empty if none set -", 0, bopArray.length);
+
+		// addBindingOperationElement()
+		BindingOperationElement bop1 = fBindingElement.addBindingOperationElement();
+		BindingOperationElement bop2 = fBindingElement.addBindingOperationElement();
+		assertNotNull(bop1);
+		assertNotNull(bop2);
+
+		// getBindingOperationElements()
+		bopArray = fBindingElement.getBindingOperationElements();
+		assertNotNull("Expected an array of BindingOperationElements -", bopArray);
+		assertEquals("Incorrect number of retrieved BindingOperationElements -", 2, bopArray.length);
+
+		// verify all Operation objects returned
+		List ifopL = Arrays.asList(bopArray);
+		assertTrue(ifopL.contains(bop1));
+		assertTrue(ifopL.contains(bop2));
+	}   
+}

Added: incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/BindingFaultElementTest.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/BindingFaultElementTest.java?view=auto&rev=500689
==============================================================================
--- incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/BindingFaultElementTest.java (added)
+++ incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/BindingFaultElementTest.java Sat Jan 27 15:35:39 2007
@@ -0,0 +1,100 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0 
+ * 
+ * Unless required by applicable law or agreed to in writing, software 
+ * distributed under the License is distributed on an "AS IS" BASIS, 
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+ * See the License for the specific language governing permissions and 
+ * limitations under the License.
+ */
+package org.apache.woden.wsdl20.xml;
+
+import javax.xml.namespace.QName;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.apache.woden.internal.wsdl20.BindingFaultImpl;
+import org.apache.woden.internal.wsdl20.DescriptionImpl;
+import org.apache.woden.types.NCName;
+
+/**
+ * Unit tests for the BindingFaultElement class.
+ * 
+ * @author Graham Turrell (gturrell@apache.org)
+ */
+public class BindingFaultElementTest extends TestCase {
+
+	private BindingFaultElement fFault = null;
+
+	public static Test suite()
+	{
+	   return new TestSuite(BindingFaultElementTest.class);
+	   
+	}
+	   /*
+     * @see TestCase#setUp()
+     */
+    protected void setUp() throws Exception 
+    {
+    	super.setUp();
+    	fFault = new BindingFaultImpl();
+    }
+    
+    /*
+     * @see TestCase#tearDown()
+     */
+    protected void tearDown() throws Exception 
+    {
+        super.tearDown();
+    }
+
+	/* 
+	 * Test that the (Mandatory) BindingFault reference attribute ("ref") can be successfully set and retrieved 
+	 */
+	public void testSetGetRef()
+	{
+		QName faultRefName = new QName("faultRefName");
+		fFault.setRef(faultRefName);
+		assertEquals("The retrieved BindingFault reference is not that which was set", 
+				faultRefName, fFault.getRef());
+	}
+	
+	/* 
+	 * Test that the (Mandatory) InterfaceFaultReference can be successfully retrieved.
+	 * The fault reference is to an Interface Fault associated with the grandparent BindingElement.
+	 */
+	public void testGetInterfaceFaultReferenceElement()
+	{
+		DescriptionElement descriptionElement = new DescriptionImpl();
+
+		// Create the BindingElement<->InterfaceElement->InterfaceFaultElement hierarchy
+		BindingElement bindingElement = descriptionElement.addBindingElement();
+		bindingElement.setInterfaceName(new QName("interface1"));
+		
+		InterfaceElement interfaceElement = descriptionElement.addInterfaceElement();
+		interfaceElement.setName(new NCName("interface1"));
+		interfaceElement.setParentElement(bindingElement);
+		
+		InterfaceFaultElement iffElement = interfaceElement.addInterfaceFaultElement();
+		iffElement.setName(new NCName("fault1"));
+
+		// Create the BindingOperationElement->BindingFaultReferenceElement hierarchy
+		BindingOperationElement bopElement = bindingElement.addBindingOperationElement();
+		bopElement.setRef(new QName("operation1"));
+		fFault = bindingElement.addBindingFaultElement();
+		fFault.setRef(new QName("fault1"));
+	
+		InterfaceFaultElement retrievedFault = fFault.getInterfaceFaultElement();
+		assertEquals("The retrieved InterfaceFaultElement is not that which was set", 
+				iffElement, retrievedFault);
+	}
+}

Added: incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/BindingFaultReferenceElementTest.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/BindingFaultReferenceElementTest.java?view=auto&rev=500689
==============================================================================
--- incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/BindingFaultReferenceElementTest.java (added)
+++ incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/BindingFaultReferenceElementTest.java Sat Jan 27 15:35:39 2007
@@ -0,0 +1,130 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0 
+ * 
+ * Unless required by applicable law or agreed to in writing, software 
+ * distributed under the License is distributed on an "AS IS" BASIS, 
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+ * See the License for the specific language governing permissions and 
+ * limitations under the License.
+ */
+package org.apache.woden.wsdl20.xml;
+
+import javax.xml.namespace.QName;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.apache.woden.internal.ErrorReporterImpl;
+import org.apache.woden.internal.wsdl20.BindingFaultReferenceImpl;
+import org.apache.woden.internal.wsdl20.DescriptionImpl;
+import org.apache.woden.types.NCName;
+import org.apache.woden.wsdl20.extensions.ExtensionRegistry;
+
+/**
+ * Unit tests for the BindingFaultReferenceElement class.
+ * 
+ * @author Graham Turrell (gturrell@apache.org)
+ */
+public class BindingFaultReferenceElementTest extends TestCase {
+
+	private BindingFaultReferenceElement fFaultReference = null;
+	private ExtensionRegistry fExtensionRegistry = null;
+
+	public static Test suite()
+	{
+	   return new TestSuite(BindingFaultReferenceElementTest.class);
+	   
+	}
+	   /*
+     * @see TestCase#setUp()
+     */
+    protected void setUp() throws Exception 
+    {
+    	super.setUp();
+    	fFaultReference = new BindingFaultReferenceImpl();
+    	fExtensionRegistry = new ExtensionRegistry();
+        fExtensionRegistry.setErrorReporter(new ErrorReporterImpl());  	
+    }
+    
+    /*
+     * @see TestCase#tearDown()
+     */
+    protected void tearDown() throws Exception 
+    {
+        super.tearDown();
+    }
+
+	/*
+	 * Test that the (Mandatory) message label attribute ("messageLabel") can be successfully set and retrieved
+	 */
+	public void testSetGetMessageLabel()
+	{
+		NCName faultRefNCName = new NCName("faultRefName");
+		fFaultReference.setMessageLabel(faultRefNCName);
+		assertEquals("The retrieved Element name is not that which was set", 
+				faultRefNCName, fFaultReference.getMessageLabel());
+	}
+
+	/* 
+	 * Test that the (Mandatory) BindingFault reference attribute ("ref") can be successfully set and retrieved 
+	 */
+	public void testSetGetRef()
+	{
+		QName faultRefName = new QName("faultRefName");
+		fFaultReference.setRef(faultRefName);
+		assertEquals("The retrieved Element name is not that which was set", 
+				faultRefName, fFaultReference.getRef());
+	}
+	
+	/* 
+	 * Test that the (Mandatory) InterfaceFaultReference can be successfully retrieved.
+	 * The fault reference is to an Interface Fault associated with the grandparent BindingElement.
+	 */
+	public void testGetInterfaceFaultReferenceElement()
+	{
+		DescriptionElement descriptionElement = new DescriptionImpl();
+		
+		// TODO - should this be strictly necessary for DescriptionElement.toComponent() not to NPE?
+        descriptionElement.setExtensionRegistry(fExtensionRegistry);	
+		
+		// Create the BindingElement<->InterfaceElement->InterfaceOperationElement->InterfaceFaultReferenceElement hierarchy
+		BindingElement bindingElement = descriptionElement.addBindingElement();
+		bindingElement.setInterfaceName(new QName("interface1"));
+		
+		InterfaceElement interfaceElement = descriptionElement.addInterfaceElement();
+		interfaceElement.setName(new NCName("interface1"));
+		interfaceElement.setParentElement(bindingElement);
+		
+		InterfaceOperationElement ifopElement = interfaceElement.addInterfaceOperationElement();
+		ifopElement.setName(new NCName("operation1"));
+		InterfaceFaultReferenceElement iffrElement = ifopElement.addInterfaceFaultReferenceElement();
+		iffrElement.setMessageLabel(new NCName("Fault1MessageLabel"));
+		iffrElement.setRef(new QName("Fault1Ref"));
+				
+		// Create the BindingOperationElement->BindingFaultReferenceElement hierarchy
+		BindingOperationElement bopElement = bindingElement.addBindingOperationElement();
+		bopElement.setRef(new QName("operation1"));
+		fFaultReference = bopElement.addBindingFaultReferenceElement();
+		fFaultReference.setMessageLabel(new NCName("Fault1MessageLabel"));
+		fFaultReference.setRef(new QName("Fault1Ref"));
+
+		descriptionElement.toComponent();
+		// Note : Description's list of interfaces does not get setup until toComponent() is invoked.
+		// therefore cannot successfully traverse the element model without creating the component model.
+		// Creating the component model requires that the extension registry is instantiated. 
+		// TODO Note that neither this, not creating an extension registry is necessary on BindingFaultElementTest,
+		// so there is some perceived inconsistency in the API.
+		
+		InterfaceFaultReferenceElement retrievedFault = fFaultReference.getInterfaceFaultReferenceElement();
+		assertEquals("The retrieved InterfaceFaultReferenceElement is not that which was set", 
+				iffrElement, retrievedFault);
+	}
+}

Added: incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/BindingMessageReferenceElementTest.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/BindingMessageReferenceElementTest.java?view=auto&rev=500689
==============================================================================
--- incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/BindingMessageReferenceElementTest.java (added)
+++ incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/BindingMessageReferenceElementTest.java Sat Jan 27 15:35:39 2007
@@ -0,0 +1,82 @@
+/**
+ * Copyright 2005 Apache Software Foundation 
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); 
+ * you may not use this file except in compliance with the License. 
+ * You may obtain a copy of the License at 
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0 
+ * 
+ * Unless required by applicable law or agreed to in writing, software 
+ * distributed under the License is distributed on an "AS IS" BASIS, 
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+ * See the License for the specific language governing permissions and 
+ * limitations under the License.
+ */
+package org.apache.woden.wsdl20.xml;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.apache.woden.internal.wsdl20.BindingMessageReferenceImpl;
+import org.apache.woden.types.NCName;
+import org.apache.woden.wsdl20.enumeration.Direction;
+
+
+
+/**
+ * Unit tests for the BindingMessageReferenceElement class.
+ * 
+ * @author Graham Turrell (gturrell@apache.org)
+ */
+public class BindingMessageReferenceElementTest extends TestCase {
+
+	private BindingMessageReferenceElement fMessageReference = null;
+
+	public static Test suite()
+	{
+	   return new TestSuite(BindingMessageReferenceElementTest.class);
+	   
+	}
+	   /*
+     * @see TestCase#setUp()
+     */
+    protected void setUp() throws Exception 
+    {
+    	super.setUp(); 	
+    	fMessageReference = new BindingMessageReferenceImpl();
+    }
+    
+    /*
+     * @see TestCase#tearDown()
+     */
+    protected void tearDown() throws Exception 
+    {
+        super.tearDown();
+    }
+	
+	/*
+	 * Test that a (mandatory) direction can be successfully set and retrieved
+	 */
+	public void testSetGetDirection()
+	{
+		// Default case
+		assertNull("The retrieved Direction when unset should be null", fMessageReference.getDirection());
+		
+		fMessageReference.setDirection(Direction.OUT);
+		assertEquals("The retrieved MessageReference direction is not that which was set", 
+				Direction.OUT, fMessageReference.getDirection());
+	}
+
+	/*
+	 * Test that the (Mandatory) message label attribute ("messageLabel") can be successfully set and retrieved
+	 */
+	public void testSetGetMessageLabel()
+	{
+		NCName messageRefNCName = new NCName("messageRefName");
+		fMessageReference.setMessageLabel(messageRefNCName);
+		assertEquals("The retrieved messageLabel is not that which was set", 
+				messageRefNCName, fMessageReference.getMessageLabel());
+	}
+}

Added: incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/BindingOperationElementTest.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/BindingOperationElementTest.java?view=auto&rev=500689
==============================================================================
--- incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/BindingOperationElementTest.java (added)
+++ incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/BindingOperationElementTest.java Sat Jan 27 15:35:39 2007
@@ -0,0 +1,177 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0 
+ * 
+ * Unless required by applicable law or agreed to in writing, software 
+ * distributed under the License is distributed on an "AS IS" BASIS, 
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+ * See the License for the specific language governing permissions and 
+ * limitations under the License.
+ */
+package org.apache.woden.wsdl20.xml;
+
+import java.util.Arrays;
+import java.util.List;
+
+import javax.xml.namespace.QName;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.apache.woden.internal.wsdl20.DescriptionImpl;
+
+/**
+ * Unit tests for the BindingOperationElement class.
+ * 
+ * @author Graham Turrell (gturrell@apache.org)
+ */
+
+public class BindingOperationElementTest extends TestCase {
+
+	// create a parent Description to hang the Bindings off
+	private DescriptionElement fDescriptionElement = null;
+	private BindingElement fBindingElement = null;
+	private BindingOperationElement fBindingOperationElement = null;
+	private final String BOP_NAME = "BindingOperationName";
+
+	public static Test suite()
+	{
+	   return new TestSuite(BindingOperationElementTest.class);
+	}
+	   
+    /*
+     * @see TestCase#setUp()
+     */
+    protected void setUp() throws Exception 
+    {
+        super.setUp();
+        fDescriptionElement = new DescriptionImpl();
+        fBindingElement = fDescriptionElement.addBindingElement();
+        fBindingOperationElement = fBindingElement.addBindingOperationElement();
+    }
+
+    /*
+     * @see TestCase#tearDown()
+     */
+    protected void tearDown() throws Exception 
+    {
+        super.tearDown();
+    }
+	
+    /*
+     * Mandatory attribute ("ref")
+     * - setRef() 
+     * - getRef() 
+     */
+	public void testGetSetRef() 
+	{	
+		fBindingOperationElement.setRef(new QName(BOP_NAME));
+		QName retrievedName = fBindingOperationElement.getRef();
+		assertEquals("Retrieved BindingOperationElement name does not match that set -", BOP_NAME, retrievedName.toString());
+	}
+	
+	/* 
+     * References to Optional child elements "infault" and "outfault"
+     * - addBindingFaultReferenceElement() 
+     * - getBindingFaultReferenceElements()
+     * - removeBindingFaultReferenceElement() 
+     */
+	public void testAddGetRemoveBindingFaultReferenceElements() 
+	{	
+		// check the default:
+		BindingFaultReferenceElement[] bfreArray = fBindingOperationElement.getBindingFaultReferenceElements();
+		assertNotNull("Expected an array of BindingFaultReferenceElement.", bfreArray);
+		assertEquals("Retrieved BindingFaultReferenceElement group should be empty if none set -", 0, bfreArray.length);
+
+		// addBindingFaultReferenceElement() -  create some BindingFaultReferenceElements
+		BindingFaultReferenceElement bfre1 = fBindingOperationElement.addBindingFaultReferenceElement();
+		BindingFaultReferenceElement bfre2 = fBindingOperationElement.addBindingFaultReferenceElement();
+		
+		// getBindingFaultReferenceElements()
+		bfreArray = fBindingOperationElement.getBindingFaultReferenceElements();
+		assertNotNull("Expected an array of BindingFaultReferenceElement.", bfreArray);
+		assertEquals("Retrieved BindingFaultReferenceElement group should be same number as those set -", 2, bfreArray.length);
+		
+		// verify all fault references returned
+		List bfreL = Arrays.asList(bfreArray);
+		assertTrue(bfreL.contains(bfre1));
+		assertTrue(bfreL.contains(bfre2));
+
+		// removeBindingFaultReferenceElement() 
+		// 1 - attempt to remove an unadded BFRE
+		BindingFaultReferenceElement bfre3 = null;
+		fBindingOperationElement.removeBindingFaultReferenceElement(bfre3);
+		bfreArray = fBindingOperationElement.getBindingFaultReferenceElements();
+		assertNotNull("Expected an array of BindingFaultReferenceElement.", bfreArray);
+		assertEquals("Retrieved BindingFaultReferenceElement group should be same number as those set -", 2, bfreArray.length);
+		
+		// 2- remove all added 
+		fBindingOperationElement.removeBindingFaultReferenceElement(bfre1);
+		fBindingOperationElement.removeBindingFaultReferenceElement(bfre2);
+		bfreArray = fBindingOperationElement.getBindingFaultReferenceElements();
+		assertNotNull("Expected an array of BindingFaultReferenceElement.", bfreArray);
+		assertEquals("Retrieved BindingFaultReferenceElement group should be empty if all removed -", 0, bfreArray.length);
+		
+		//3 - attempt to remove previously removed from empty list
+		fBindingOperationElement.removeBindingFaultReferenceElement(bfre2);
+		bfreArray = fBindingOperationElement.getBindingFaultReferenceElements();
+		assertNotNull("Expected an array of BindingFaultReferenceElement.", bfreArray);
+		assertEquals("Retrieved BindingFaultReferenceElement group should be empty if all removed -", 0, bfreArray.length);
+	}
+	
+	/* 
+     * References to Optional child elements "input" and "output"
+     * - addBindingMessageReferenceElement() 
+     * - getBindingMessageReferenceElements()
+     * - removeBindingMessageReferenceElement() 
+     */
+	public void testAddGetRemoveBindingMessageReferenceElements() 
+	{
+		// check the default:
+		BindingMessageReferenceElement[] bmreArray = fBindingOperationElement.getBindingMessageReferenceElements();
+		assertNotNull("Expected an array of BindingMessageReferenceElement.", bmreArray);
+		assertEquals("Retrieved BindingFaultReferenceElement group should be empty if none set -", 0, bmreArray.length);
+
+		// addBindingMessageReferenceElement() -  create some addBindingMessageReferenceElements
+		BindingMessageReferenceElement bmre1 = fBindingOperationElement.addBindingMessageReferenceElement();
+		BindingMessageReferenceElement bmre2 = fBindingOperationElement.addBindingMessageReferenceElement();
+		
+		// getBindingMessageReferenceElements()
+		bmreArray = fBindingOperationElement.getBindingMessageReferenceElements();
+		assertNotNull("Expected an array of BindingMessageReferenceElement.", bmreArray);
+		assertEquals("Retrieved BindingMessageReferenceElement group should be same number as those set -", 2, bmreArray.length);
+		
+		// verify all fault references returned
+		List bmreL = Arrays.asList(bmreArray);
+		assertTrue(bmreL.contains(bmre1));
+		assertTrue(bmreL.contains(bmre2));
+
+		// removeBindingMessageReferenceElement() 
+		// 1 - attempt to remove an unadded BMRE
+		BindingMessageReferenceElement bmre3 = null;
+		fBindingOperationElement.removeBindingMessageReferenceElement(bmre3);
+		bmreArray = fBindingOperationElement.getBindingMessageReferenceElements();
+		assertNotNull("Expected an array of BindingMessageReferenceElement.", bmreArray);
+		assertEquals("Retrieved BindingMessageReferenceElement group should be same number as those set -", 2, bmreArray.length);
+		
+		// 2- remove all added 
+		fBindingOperationElement.removeBindingMessageReferenceElement(bmre1);
+		fBindingOperationElement.removeBindingMessageReferenceElement(bmre2);
+		bmreArray = fBindingOperationElement.getBindingMessageReferenceElements();
+		assertNotNull("Expected an array of BindingMessageReferenceElement.", bmreArray);
+		assertEquals("Retrieved BindingMessageReferenceElement group should be empty if all removed -", 0, bmreArray.length);
+		
+		//3 - attempt to remove previously removed from empty list
+		fBindingOperationElement.removeBindingMessageReferenceElement(bmre2);
+		bmreArray = fBindingOperationElement.getBindingMessageReferenceElements();
+		assertNotNull("Expected an array of BindingMessageReferenceElement.", bmreArray);
+		assertEquals("Retrieved BindingMessageReferenceElement group should be empty if all removed -", 0, bmreArray.length);
+	}
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: woden-dev-help@ws.apache.org