scheu 02/04/04 14:29:06 Modified: java/test/wsdl/marrays MArrayTest.wsdl MArrayTestsServiceTestCase.java Log: Enhanced this test Revision Changes Path 1.3 +10 -0 xml-axis/java/test/wsdl/marrays/MArrayTest.wsdl Index: MArrayTest.wsdl =================================================================== RCS file: /home/cvs/xml-axis/java/test/wsdl/marrays/MArrayTest.wsdl,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- MArrayTest.wsdl 11 Feb 2002 19:02:53 -0000 1.2 +++ MArrayTest.wsdl 4 Apr 2002 22:29:06 -0000 1.3 @@ -55,6 +55,16 @@ </xsd:all> </xsd:complexType> + <xsd:complexType name="derivedFoo"> + <xsd:complexContent> + <xsd:extension base="typens:foo" > + <xsd:all> + <xsd:element name="value2" type="xsd:int"/> + </xsd:all> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="Array1F"> <xsd:complexContent> <xsd:restriction base="soapenc:Array"> 1.8 +23 -0 xml-axis/java/test/wsdl/marrays/MArrayTestsServiceTestCase.java Index: MArrayTestsServiceTestCase.java =================================================================== RCS file: /home/cvs/xml-axis/java/test/wsdl/marrays/MArrayTestsServiceTestCase.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- MArrayTestsServiceTestCase.java 27 Mar 2002 17:53:07 -0000 1.7 +++ MArrayTestsServiceTestCase.java 4 Apr 2002 22:29:06 -0000 1.8 @@ -100,6 +100,29 @@ } catch (java.rmi.RemoteException re) { throw new junit.framework.AssertionFailedError("Remote Exception caught: " + re ); } + + try { + // Test 3G: Combination of Foo and DerivedFoo. + Foo[][][] in = new Foo[3][3][3]; + Foo[][][] rc; + fillFoo(in); + + // Diagonals are set to same Foo + in[0][0][0] = new DerivedFoo(); + in[0][0][0].setValue(-1); + ((DerivedFoo)in[0][0][0]).setValue2(7); + in[1][1][1] = in[0][0][0]; + in[2][2][2] = in[0][0][0]; + + rc = binding.testFooArray(in); + assertTrue("Test 3G Failed (a)", validateFoo(in, rc)); + assertTrue("Test 3G Failed (b)", rc[0][0][0] == rc[1][1][1]); + assertTrue("Test 3G Failed (c)", rc[0][0][0] == rc[2][2][2]); + assertTrue("Test 3G Failed (d)", ((DerivedFoo)rc[2][2][2]).getValue2() == 7); + } catch (java.rmi.RemoteException re) { + throw new junit.framework.AssertionFailedError("Remote Exception caught: " + re ); + } + // This test is no longer valid if Axis treats arrays as always single-ref /* try {