Author: gturrell
Date: Sun Jan 28 12:19:48 2007
New Revision: 500875

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

Added:
    
incubator/woden/trunk/java/test/org/apache/woden/wsdl20/BindingFaultReferenceTest.java
    
incubator/woden/trunk/java/test/org/apache/woden/wsdl20/BindingFaultTest.java
    
incubator/woden/trunk/java/test/org/apache/woden/wsdl20/BindingMessageReferenceTest.java
    
incubator/woden/trunk/java/test/org/apache/woden/wsdl20/BindingOperationTest.java
    incubator/woden/trunk/java/test/org/apache/woden/wsdl20/BindingTest.java
Modified:
    incubator/woden/trunk/java/test/org/apache/woden/tests/AllWodenTestsDOM.java
    
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/BindingOperationElementTest.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=500875&r1=500874&r2=500875
==============================================================================
--- 
incubator/woden/trunk/java/test/org/apache/woden/tests/AllWodenTestsDOM.java 
(original)
+++ 
incubator/woden/trunk/java/test/org/apache/woden/tests/AllWodenTestsDOM.java 
Sun Jan 28 12:19:48 2007
@@ -28,6 +28,11 @@
 import org.apache.woden.internal.wsdl20.validation.WSDLComponentValidatorTest;
 import org.apache.woden.internal.wsdl20.validation.WSDLDocumentValidatorTest;
 import org.apache.woden.resolver.SimpleURIResolverTest;
+import org.apache.woden.wsdl20.BindingFaultReferenceTest;
+import org.apache.woden.wsdl20.BindingFaultTest;
+import org.apache.woden.wsdl20.BindingMessageReferenceTest;
+import org.apache.woden.wsdl20.BindingOperationTest;
+import org.apache.woden.wsdl20.BindingTest;
 import org.apache.woden.wsdl20.DescriptionTest;
 import org.apache.woden.wsdl20.ElementDeclarationTest;
 import org.apache.woden.wsdl20.EndpointTest;
@@ -152,6 +157,11 @@
     addTest(BindingOperationElementTest.suite());
     addTest(BindingFaultReferenceElementTest.suite());
     addTest(BindingMessageReferenceElementTest.suite());
+    addTest(BindingTest.suite());
+    addTest(BindingFaultTest.suite());
+    addTest(BindingOperationTest.suite());
+    addTest(BindingFaultReferenceTest.suite());
+    addTest(BindingMessageReferenceTest.suite());
     //TODO in-progress 30May06 tests for BindingOpExt and BindingMsgRefExt
   }
 

Added: 
incubator/woden/trunk/java/test/org/apache/woden/wsdl20/BindingFaultReferenceTest.java
URL: 
http://svn.apache.org/viewvc/incubator/woden/trunk/java/test/org/apache/woden/wsdl20/BindingFaultReferenceTest.java?view=auto&rev=500875
==============================================================================
--- 
incubator/woden/trunk/java/test/org/apache/woden/wsdl20/BindingFaultReferenceTest.java
 (added)
+++ 
incubator/woden/trunk/java/test/org/apache/woden/wsdl20/BindingFaultReferenceTest.java
 Sun Jan 28 12:19:48 2007
@@ -0,0 +1,125 @@
+/**
+ * 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;
+
+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;
+import org.apache.woden.wsdl20.xml.BindingElement;
+import org.apache.woden.wsdl20.xml.BindingFaultReferenceElement;
+import org.apache.woden.wsdl20.xml.BindingOperationElement;
+import org.apache.woden.wsdl20.xml.DescriptionElement;
+import org.apache.woden.wsdl20.xml.InterfaceElement;
+import org.apache.woden.wsdl20.xml.InterfaceFaultElement;
+import org.apache.woden.wsdl20.xml.InterfaceFaultReferenceElement;
+import org.apache.woden.wsdl20.xml.InterfaceOperationElement;
+
+/**
+ * Unit tests for the BindingFaultReference class.
+ * 
+ * @author Graham Turrell ([EMAIL PROTECTED])
+ */
+public class BindingFaultReferenceTest extends TestCase {
+
+       private BindingFaultReferenceElement fFaultRefElement = null;
+       private BindingFaultReference fFaultRef = null; 
+       private ExtensionRegistry fExtensionRegistry = null;
+
+       public static Test suite()
+       {
+          return new TestSuite(BindingFaultReferenceTest.class);
+          
+       }
+          /*
+     * @see TestCase#setUp()
+     */
+    protected void setUp() throws Exception 
+    {
+       super.setUp();
+       fFaultRefElement = new BindingFaultReferenceImpl();
+               fFaultRef = (BindingFaultReference) fFaultRefElement;
+       fExtensionRegistry = new ExtensionRegistry();
+        fExtensionRegistry.setErrorReporter(new ErrorReporterImpl()); 
+    }
+    
+    /*
+     * @see TestCase#tearDown()
+     */
+    protected void tearDown() throws Exception 
+    {
+        super.tearDown();
+    }
+
+       /* 
+        * Test that the (Mandatory) InterfaceFaultReference can be 
successfully retrieved.
+        * The fault reference is to an Interface Fault associated with the 
grandparent BindingElement.
+        */
+       public void testGetInterfaceFaultReference()
+       {
+               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);
+               InterfaceFaultElement ife = 
interfaceElement.addInterfaceFaultElement();
+               ife.setName(new NCName("Fault1Ref"));
+               
+               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"));
+               fFaultRefElement = bopElement.addBindingFaultReferenceElement();
+               fFaultRefElement.setMessageLabel(new 
NCName("Fault1MessageLabel"));
+               fFaultRefElement.setRef(new QName("Fault1Ref"));
+
+               Description descComp = descriptionElement.toComponent();
+               descComp.getBindings(); // this triggers setting the link to 
description in the binding
+               
+               fFaultRef = (BindingFaultReference) fFaultRefElement;
+               InterfaceFaultReference retrievedFault = 
fFaultRef.getInterfaceFaultReference();
+               assertEquals("The retrieved InterfaceFaultReference is not that 
which was set", 
+                               iffrElement, retrievedFault);
+       }
+       
+       /*
+     * toElement()
+     */
+       public void testToElement() 
+       {       
+               assertEquals(fFaultRefElement, fFaultRef.toElement());
+       }
+}

Added: 
incubator/woden/trunk/java/test/org/apache/woden/wsdl20/BindingFaultTest.java
URL: 
http://svn.apache.org/viewvc/incubator/woden/trunk/java/test/org/apache/woden/wsdl20/BindingFaultTest.java?view=auto&rev=500875
==============================================================================
--- 
incubator/woden/trunk/java/test/org/apache/woden/wsdl20/BindingFaultTest.java 
(added)
+++ 
incubator/woden/trunk/java/test/org/apache/woden/wsdl20/BindingFaultTest.java 
Sun Jan 28 12:19:48 2007
@@ -0,0 +1,111 @@
+/**
+ * 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;
+
+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;
+import org.apache.woden.wsdl20.xml.BindingElement;
+import org.apache.woden.wsdl20.xml.BindingFaultElement;
+import org.apache.woden.wsdl20.xml.BindingOperationElement;
+import org.apache.woden.wsdl20.xml.DescriptionElement;
+import org.apache.woden.wsdl20.xml.InterfaceElement;
+import org.apache.woden.wsdl20.xml.InterfaceFaultElement;
+
+/**
+ * Unit tests for the BindingFault class.
+ * 
+ * @author Graham Turrell ([EMAIL PROTECTED])
+ */
+public class BindingFaultTest extends TestCase {
+
+       private BindingFaultElement fFaultElement = null;
+       private BindingFault fFault = null;     
+
+       public static Test suite()
+       {
+          return new TestSuite(BindingFaultTest.class);
+          
+       }
+          /*
+     * @see TestCase#setUp()
+     */
+    protected void setUp() throws Exception 
+    {
+       super.setUp();
+       fFaultElement = new BindingFaultImpl();
+       fFault = (BindingFault) fFaultElement;
+    }
+    
+    /*
+     * @see TestCase#tearDown()
+     */
+    protected void tearDown() throws Exception 
+    {
+        super.tearDown();
+    }
+
+       /* 
+        * Test that the (Mandatory) InterfaceFault can be successfully 
retrieved.
+        */
+       public void testGetInterfaceFault()
+       {
+               DescriptionElement descriptionElement = new DescriptionImpl();
+
+               // Create the 
BindingElement<->InterfaceElement->InterfaceFaultElement hierarchy
+               BindingElement bindingElement = 
descriptionElement.addBindingElement();
+               bindingElement.setInterfaceName(new QName("interface1"));
+               bindingElement.setName(new NCName("binding1"));
+               
+               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"));
+               fFaultElement = bindingElement.addBindingFaultElement();
+               fFaultElement.setRef(new QName("fault1"));
+               
+               Description descComp = descriptionElement.toComponent();
+               descComp.getBindings(); // this triggers setting the link to 
description in the binding
+
+               BindingFault bf = (BindingFault)fFaultElement;
+       
+               InterfaceFault retrievedFault = bf.getInterfaceFault();
+               assertEquals("The retrieved InterfaceFaultElement is not that 
which was set", 
+                               iffElement, retrievedFault);
+       }
+       
+       /*
+     * toElement()
+     */
+       public void testToElement() 
+       {       
+               assertEquals(fFaultElement, fFault.toElement());
+       }
+
+}

Added: 
incubator/woden/trunk/java/test/org/apache/woden/wsdl20/BindingMessageReferenceTest.java
URL: 
http://svn.apache.org/viewvc/incubator/woden/trunk/java/test/org/apache/woden/wsdl20/BindingMessageReferenceTest.java?view=auto&rev=500875
==============================================================================
--- 
incubator/woden/trunk/java/test/org/apache/woden/wsdl20/BindingMessageReferenceTest.java
 (added)
+++ 
incubator/woden/trunk/java/test/org/apache/woden/wsdl20/BindingMessageReferenceTest.java
 Sun Jan 28 12:19:48 2007
@@ -0,0 +1,122 @@
+/**
+ * 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;
+
+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.BindingMessageReferenceImpl;
+import org.apache.woden.internal.wsdl20.DescriptionImpl;
+import org.apache.woden.types.NCName;
+import org.apache.woden.wsdl20.extensions.ExtensionRegistry;
+import org.apache.woden.wsdl20.xml.BindingElement;
+import org.apache.woden.wsdl20.xml.BindingMessageReferenceElement;
+import org.apache.woden.wsdl20.xml.BindingOperationElement;
+import org.apache.woden.wsdl20.xml.DescriptionElement;
+import org.apache.woden.wsdl20.xml.InterfaceElement;
+import org.apache.woden.wsdl20.xml.InterfaceMessageReferenceElement;
+import org.apache.woden.wsdl20.xml.InterfaceOperationElement;
+
+/**
+ * Unit tests for the BindingMessageReference class.
+ * 
+ * @author Graham Turrell ([EMAIL PROTECTED])
+ */
+public class BindingMessageReferenceTest extends TestCase {
+
+       private BindingMessageReferenceElement fBindingMessageRefElement = null;
+       private BindingMessageReference fBindingMessageRef = null;      
+       private ExtensionRegistry fExtensionRegistry = null;
+
+       public static Test suite()
+       {
+          return new TestSuite(BindingMessageReferenceTest.class);
+          
+       }
+          /*
+     * @see TestCase#setUp()
+     */
+    protected void setUp() throws Exception 
+    {
+       super.setUp();
+       fBindingMessageRefElement = new BindingMessageReferenceImpl();
+               fBindingMessageRef = (BindingMessageReference) 
fBindingMessageRefElement;
+       fExtensionRegistry = new ExtensionRegistry();
+        fExtensionRegistry.setErrorReporter(new ErrorReporterImpl()); 
+    }
+    
+    /*
+     * @see TestCase#tearDown()
+     */
+    protected void tearDown() throws Exception 
+    {
+        super.tearDown();
+    }
+
+       /* 
+        * Test that the (Mandatory) InterfaceMessageReference can be 
successfully retrieved.
+        * - getInterfaceMessageReference()
+        * 
+        */
+       public void testGetInterfaceMessageReference()
+       {
+               DescriptionElement descriptionElement = new DescriptionImpl();
+
+               // TODO - should this be strictly necessary for 
DescriptionElement.toComponent() not to NPE?
+        descriptionElement.setExtensionRegistry(fExtensionRegistry);   
+               
+               // Create the 
BindingElement<->InterfaceElement->InterfaceOperationElement->InterfaceMessageReferenceElement
 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"));
+               InterfaceMessageReferenceElement ifmrElement = 
ifopElement.addInterfaceMessageReferenceElement();
+               ifmrElement.setMessageLabel(new 
NCName("MessageRef1MessageLabel"));
+                               
+               // Create the 
BindingOperationElement->BindingMessageReferenceElement hierarchy
+               BindingOperationElement bopElement = 
bindingElement.addBindingOperationElement();
+               bopElement.setRef(new QName("operation1"));
+               fBindingMessageRefElement = 
bopElement.addBindingMessageReferenceElement();
+               fBindingMessageRefElement.setMessageLabel(new 
NCName("MessageRef1MessageLabel"));
+
+               Description descComp = descriptionElement.toComponent();
+               descComp.getBindings(); // this triggers setting the link to 
description in the binding
+               
+               fBindingMessageRef = (BindingMessageReference) 
fBindingMessageRefElement;
+               InterfaceMessageReference retrievedMessage = 
fBindingMessageRef.getInterfaceMessageReference();
+               assertEquals("The retrieved InterfaceMessageReference is not 
that which was set", 
+                               ifmrElement, retrievedMessage);
+       }
+       
+       /*
+     * toElement()
+     */
+       public void testToElement() 
+       {       
+               assertEquals(fBindingMessageRefElement, 
fBindingMessageRef.toElement());
+       }
+
+}

Added: 
incubator/woden/trunk/java/test/org/apache/woden/wsdl20/BindingOperationTest.java
URL: 
http://svn.apache.org/viewvc/incubator/woden/trunk/java/test/org/apache/woden/wsdl20/BindingOperationTest.java?view=auto&rev=500875
==============================================================================
--- 
incubator/woden/trunk/java/test/org/apache/woden/wsdl20/BindingOperationTest.java
 (added)
+++ 
incubator/woden/trunk/java/test/org/apache/woden/wsdl20/BindingOperationTest.java
 Sun Jan 28 12:19:48 2007
@@ -0,0 +1,169 @@
+/**
+ * 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;
+
+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.ErrorReporterImpl;
+import org.apache.woden.internal.wsdl20.DescriptionImpl;
+import org.apache.woden.types.NCName;
+import org.apache.woden.wsdl20.extensions.ExtensionRegistry;
+import org.apache.woden.wsdl20.xml.BindingElement;
+import org.apache.woden.wsdl20.xml.BindingFaultReferenceElement;
+import org.apache.woden.wsdl20.xml.BindingMessageReferenceElement;
+import org.apache.woden.wsdl20.xml.BindingOperationElement;
+import org.apache.woden.wsdl20.xml.DescriptionElement;
+import org.apache.woden.wsdl20.xml.InterfaceElement;
+import org.apache.woden.wsdl20.xml.InterfaceOperationElement;
+
+/**
+ * Unit tests for the BindingOperation class.
+ * 
+ * @author Graham Turrell ([EMAIL PROTECTED])
+ */
+
+public class BindingOperationTest extends TestCase {
+
+       // create a parent Description to hang the Binding hierarchy off
+       private DescriptionElement fDescriptionElement = null;
+       private BindingElement fBindingElement = null;
+       private BindingOperationElement fBindingOperationElement = null;
+       private BindingOperation fBindingOperation = null;
+       private ExtensionRegistry fExtensionRegistry = null;
+
+       public static Test suite()
+       {
+          return new TestSuite(BindingOperationTest.class);
+       }
+          
+    /*
+     * @see TestCase#setUp()
+     */
+    protected void setUp() throws Exception 
+    {
+        super.setUp();
+        fDescriptionElement = new DescriptionImpl();
+        fBindingElement = fDescriptionElement.addBindingElement();
+        fBindingOperationElement = 
fBindingElement.addBindingOperationElement();
+        fBindingOperation = (BindingOperation) fBindingOperationElement;
+        
+        // TODO - should this be strictly necessary 
+        // for DescriptionElement.toComponent() not to NPE?
+       fExtensionRegistry = new ExtensionRegistry();
+        fExtensionRegistry.setErrorReporter(new ErrorReporterImpl()); 
+        fDescriptionElement.setExtensionRegistry(fExtensionRegistry);
+    }
+
+    /*
+     * @see TestCase#tearDown()
+     */
+    protected void tearDown() throws Exception 
+    {
+        super.tearDown();
+    }
+
+       /* 
+     * References to Optional child elements "infault" and "outfault" in the 
infoset
+     * - getBindingFaultReferences()
+     */
+       public void testGetBindingFaultReferences() 
+       {       
+               // create some BindingFaultReferenceElements
+               BindingFaultReferenceElement bfre1 = 
fBindingOperationElement.addBindingFaultReferenceElement();
+               BindingFaultReferenceElement bfre2 = 
fBindingOperationElement.addBindingFaultReferenceElement();
+       
+               fDescriptionElement.toComponent();
+               
+               // getBindingFaultReferences()
+               BindingFaultReference[] bfrArray = 
fBindingOperation.getBindingFaultReferences();
+               assertNotNull("Expected an array of BindingFaultReference.", 
bfrArray);
+               assertEquals("Retrieved BindingFaultReference group should be 
same number as those set -", 2, bfrArray.length);
+               
+               // verify all fault references returned
+               List bfreL = Arrays.asList(bfrArray);
+               assertTrue(bfreL.contains(bfre1));
+               assertTrue(bfreL.contains(bfre2));
+       }
+       
+       /* 
+     * References to Optional child elements "input" and "output" int the 
infoset
+     * - getBindingMessageReferences()
+     */
+       public void testGetBindingMessageReferences() 
+       {
+               // create some BindingMessageReferenceElements
+               BindingMessageReferenceElement bmre1 = 
fBindingOperationElement.addBindingMessageReferenceElement();
+               BindingMessageReferenceElement bmre2 = 
fBindingOperationElement.addBindingMessageReferenceElement();
+               
+               fDescriptionElement.toComponent();
+               
+               // getBindingMessageReferences()
+               BindingMessageReference[] bmrArray = 
fBindingOperation.getBindingMessageReferences();
+               assertNotNull("Expected an array of BindingMessageReference.", 
bmrArray);
+               assertEquals("Retrieved BindingMessageReference group should be 
same number as those set -", 2, bmrArray.length);
+               
+               // verify all fault references returned
+               List bmreL = Arrays.asList(bmrArray);
+               assertTrue(bmreL.contains(bmre1));
+               assertTrue(bmreL.contains(bmre2));
+       }
+               
+       /* 
+     * Utility method to find the InterfaceOperation referenced by the 
(Mandatory) "ref" attribute in the infoset
+     * - getInterfaceOperation() 
+     */
+       public void testGetInterfaceOperation() 
+       {               
+               // Create and name an Interface Element 
+               InterfaceElement interfaceElement = 
fDescriptionElement.addInterfaceElement();
+               interfaceElement.setName(new NCName("interface1"));
+
+               // Create a binding from the description 
+               fBindingElement = fDescriptionElement.addBindingElement();
+               fBindingElement.setInterfaceName(new QName("interface1"));
+               
+               //Create and name an Interface Operation Element
+               InterfaceOperationElement intOpElement = 
interfaceElement.addInterfaceOperationElement();
+               intOpElement.setName(new NCName("interfaceOperation1"));
+               
+               fBindingOperationElement = 
fBindingElement.addBindingOperationElement();
+               fBindingOperationElement.setRef(new 
QName("interfaceOperation1"));
+               
+               Description descComp = fDescriptionElement.toComponent();
+               descComp.getBindings(); // this triggers setting the link to 
description in the binding
+               
+        fBindingOperation = (BindingOperation) fBindingOperationElement;
+               
+        InterfaceOperation retrievedIntOp = 
fBindingOperation.getInterfaceOperation();
+               assertEquals("Retrieved Interface Element was not that expected 
-", intOpElement, retrievedIntOp);
+       }
+       
+       /*
+     * toElement()
+     */
+       public void testToElement() 
+       {       
+               assertEquals(fBindingOperationElement, 
fBindingOperation.toElement());
+       }
+}

Added: incubator/woden/trunk/java/test/org/apache/woden/wsdl20/BindingTest.java
URL: 
http://svn.apache.org/viewvc/incubator/woden/trunk/java/test/org/apache/woden/wsdl20/BindingTest.java?view=auto&rev=500875
==============================================================================
--- incubator/woden/trunk/java/test/org/apache/woden/wsdl20/BindingTest.java 
(added)
+++ incubator/woden/trunk/java/test/org/apache/woden/wsdl20/BindingTest.java 
Sun Jan 28 12:19:48 2007
@@ -0,0 +1,203 @@
+/**
+ * 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;
+
+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;
+import org.apache.woden.wsdl20.xml.BindingElement;
+import org.apache.woden.wsdl20.xml.BindingFaultElement;
+import org.apache.woden.wsdl20.xml.BindingOperationElement;
+import org.apache.woden.wsdl20.xml.DescriptionElement;
+import org.apache.woden.wsdl20.xml.InterfaceElement;
+
+/**
+ * Unit tests for the Binding class.
+ * 
+ * @author Graham Turrell ([EMAIL PROTECTED])
+ */
+public class BindingTest extends TestCase {
+
+       // create a parent Description to hang the Bindings off
+       private DescriptionElement fDescriptionElement = null;
+       private BindingElement fBindingElement = null;
+       private Binding fBinding = null;
+       private URI fTypeURI = null;
+       
+       public static Test suite()
+       {
+          return new TestSuite(BindingTest.class);
+       }
+          
+    /*
+     * @see TestCase#setUp()
+     */
+    protected void setUp() throws Exception 
+    {
+        super.setUp();
+        fDescriptionElement = new DescriptionImpl();
+        fBindingElement = fDescriptionElement.addBindingElement();
+        fBindingElement.setName(new NCName("binding"));
+        //fBinding = (Binding) fBindingElement;
+        fTypeURI = new URI("http://www.w3.org/0000/00/apacheType";);
+        fBinding = fDescriptionElement.toComponent().getBinding(new 
QName("binding"));
+    }
+
+    /*
+     * @see TestCase#tearDown()
+     */
+    protected void tearDown() throws Exception 
+    {
+        super.tearDown();
+    }
+       
+       /*  (optional) "interface" attribute 
+     * - getInterfaceElement() 
+     */
+       public void testGetInterface() 
+       {               
+               // check the default:
+               Interface retrievedInterface = fBinding.getInterface();
+               assertNull("Retrieved Interface should be null if none set -", 
retrievedInterface);
+
+               // 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  
+               fBindingElement = desc.addBindingElement();
+               fBindingElement.setName(new NCName("binding1"));
+               desc.toComponent();
+               Binding binding = desc.toComponent().getBinding(new 
QName("binding1"));
+       
+               // getInterface() - interface attribute unspecified, but 
hierarchy in place:
+               retrievedInterface = binding.getInterface();
+               assertNull("Retrieved Interface should be null if interface 
attribute unspecified -", retrievedInterface);
+               
+               // getInterface() - interface attribute specified, and 
hierarchy in place:
+               // Set the "interface" attribute to reference the new Interface 
Element
+               // (have to recreate whole desc hierarchy as toComponent() will 
not rerun if already run!)
+               desc = new DescriptionImpl();
+               interfaceElement = desc.addInterfaceElement();
+               interfaceElement.setName(new NCName("interface1"));
+               fBindingElement = desc.addBindingElement();
+               fBindingElement.setName(new NCName("binding1"));
+               fBindingElement.setInterfaceName(new QName("interface1"));
+               
+               //fDescriptionElement.toComponent();
+               
+        binding = desc.toComponent().getBinding(new QName("binding1"));
+               //fBinding = (Binding)fBindingElement;
+               
+               retrievedInterface = binding.getInterface();
+               assertEquals("Retrieved Interface was not that expected -", 
interfaceElement, retrievedInterface);
+       }   
+       
+    /*
+     * Mandatory attribute ("name")
+     * - getName() 
+     */
+       public void testGetName() 
+       {       
+               fBindingElement.setName(new NCName("BindingName"));
+               QName uri = fBinding.getName();
+               assertNotNull(uri);
+               assertEquals("Retrieved Binding name does not match that set 
-", "BindingName", uri.toString());
+       }
+
+    /*
+     * Mandatory attribute ("type")
+     * - getType() 
+     */
+       public void testGetType() 
+       {       
+               fBindingElement.setType(fTypeURI);
+               URI uri = fBinding.getType();
+               assertEquals("Retrieved Binding type attribute does not match 
that set -", fTypeURI, uri);
+       }
+       
+       /*
+     * Optional element ("fault")
+     * - getBindingFaults() 
+     */
+       public void testGetBindingFaults() 
+       {               
+               // check the default:
+               BindingFault[] bfArray = fBinding.getBindingFaults();
+               assertNotNull("Expected an array of BindingFaults -", bfArray);
+               assertEquals("Retrieved BindingFaultElement group should be 
empty if none set -", 0, bfArray.length);
+
+               // addBindingFaultElement()
+               BindingFaultElement bfe1 = 
fBindingElement.addBindingFaultElement();
+               BindingFaultElement bfe2 = 
fBindingElement.addBindingFaultElement();
+
+               // getBindingFaultElements()
+               bfArray = fBinding.getBindingFaults();
+               assertNotNull("Expected an array of BindingFaults -", bfArray);
+               assertEquals("Incorrect number of retrieved BindingFaults -", 
2, bfArray.length);
+
+               // verify all Fault objects returned
+               List bfeL = Arrays.asList(bfArray);
+               assertTrue(bfeL.contains(bfe1));
+               assertTrue(bfeL.contains(bfe2));
+       }    
+    
+       /*
+     * Optional element ("operation") 
+     * - getBindingOperations() 
+     */
+       public void testGetBindingOperations() 
+       {               
+               // check the default:
+               BindingOperation[] bopArray = fBinding.getBindingOperations();
+               assertNotNull("Expected an array of BindingOperations -", 
bopArray);
+               assertEquals("Retrieved BindingOperation group should be empty 
if none set -", 0, bopArray.length);
+
+               // addBindingOperationElement()
+               BindingOperationElement bop1 = 
fBindingElement.addBindingOperationElement();
+               BindingOperationElement bop2 = 
fBindingElement.addBindingOperationElement();
+
+               // getBindingOperations()
+               bopArray = fBinding.getBindingOperations();
+               assertNotNull("Expected an array of BindingOperation -", 
bopArray);
+               assertEquals("Incorrect number of retrieved BindingOperations 
-", 2, bopArray.length);
+
+               // verify all Operation objects returned
+               List ifopL = Arrays.asList(bopArray);
+               assertTrue(ifopL.contains(bop1));
+               assertTrue(ifopL.contains(bop2));
+       } 
+       
+       /*
+     * toElement()
+     */
+       public void testToElement() 
+       {       
+               assertEquals(fBindingElement, fBinding.toElement());
+       }
+
+}

Modified: 
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=diff&rev=500875&r1=500874&r2=500875
==============================================================================
--- 
incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/BindingElementTest.java
 (original)
+++ 
incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/BindingElementTest.java
 Sun Jan 28 12:19:48 2007
@@ -96,7 +96,7 @@
                InterfaceElement interfaceElement = desc.addInterfaceElement();
                interfaceElement.setName(new NCName("interface1"));
                
-               // Create a binding from the description and 
+               // Create a binding from the description 
                fBindingElement = desc.addBindingElement();
        
                // getInterfaceElement() - interface attribute unspecified, but 
hierarchy in place:

Modified: 
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=diff&rev=500875&r1=500874&r2=500875
==============================================================================
--- 
incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/BindingFaultElementTest.java
 (original)
+++ 
incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/BindingFaultElementTest.java
 Sun Jan 28 12:19:48 2007
@@ -69,10 +69,9 @@
        }
        
        /* 
-        * Test that the (Mandatory) InterfaceFaultReference can be 
successfully retrieved.
-        * The fault reference is to an Interface Fault associated with the 
grandparent BindingElement.
+        * Test that the (Mandatory) InterfaceFault can be successfully 
retrieved.
         */
-       public void testGetInterfaceFaultReferenceElement()
+       public void testGetInterfaceFaultElement()
        {
                DescriptionElement descriptionElement = new DescriptionImpl();
 

Modified: 
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=diff&rev=500875&r1=500874&r2=500875
==============================================================================
--- 
incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/BindingFaultReferenceElementTest.java
 (original)
+++ 
incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/BindingFaultReferenceElementTest.java
 Sun Jan 28 12:19:48 2007
@@ -120,7 +120,7 @@
                // 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,
+               // TODO Note that neither this, not creating an extension 
registry is necessary on BindingFaultTest,
                // so there is some perceived inconsistency in the API.
                
                InterfaceFaultReferenceElement retrievedFault = 
fFaultReference.getInterfaceFaultReferenceElement();

Modified: 
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=diff&rev=500875&r1=500874&r2=500875
==============================================================================
--- 
incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/BindingOperationElementTest.java
 (original)
+++ 
incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/BindingOperationElementTest.java
 Sun Jan 28 12:19:48 2007
@@ -26,6 +26,7 @@
 import junit.framework.TestSuite;
 
 import org.apache.woden.internal.wsdl20.DescriptionImpl;
+import org.apache.woden.types.NCName;
 
 /**
  * Unit tests for the BindingOperationElement class.
@@ -174,4 +175,34 @@
                assertNotNull("Expected an array of 
BindingMessageReferenceElement.", bmreArray);
                assertEquals("Retrieved BindingMessageReferenceElement group 
should be empty if all removed -", 0, bmreArray.length);
        }
+       
+       /* 
+     * Utility method to find the InterfaceOperation referenced by the 
(Mandatory) "ref" attribute
+     * - getInterfaceOperationElement() 
+     */
+       public void testGetInterfaceOperationElement() 
+       {               
+               // check the default:
+               InterfaceOperationElement retrievedIntOpElement = 
fBindingOperationElement.getInterfaceOperationElement();
+               assertNull("Retrieved Interface Operation Element should be 
null if none set -", retrievedIntOpElement);
+
+               // 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 
+               fBindingElement = desc.addBindingElement();
+               fBindingElement.setInterfaceName(new QName("interface1"));
+               
+               //Create and name an Interface Operation Element
+               InterfaceOperationElement intOpElement = 
interfaceElement.addInterfaceOperationElement();
+               intOpElement.setName(new NCName("interfaceOperation1"));
+               
+               fBindingOperationElement = 
fBindingElement.addBindingOperationElement();
+               fBindingOperationElement.setRef(new 
QName("interfaceOperation1"));
+
+               retrievedIntOpElement = 
fBindingOperationElement.getInterfaceOperationElement();
+               assertEquals("Retrieved Interface Element was not that expected 
-", intOpElement, retrievedIntOpElement);
+       }  
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to