From: <hei...@us...> - 2008-10-23 18:07:07
|
Revision: 1632 http://geonetwork.svn.sourceforge.net/geonetwork/?rev=1632&view=rev Author: heikkidoeleman Date: 2008-10-23 18:06:56 +0000 (Thu, 23 Oct 2008) Log Message: ----------- heikki: unit tests for information model Added Paths: ----------- sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/ sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/ sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/association/ sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/association/AssociationTest.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/classification/ sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/classification/ClassificationNodeTest.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/classification/ClassificationSchemeTest.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/classification/ClassificationTest.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/cooperatingregistries/ sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/cooperatingregistries/FederationTest.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/cooperatingregistries/RegistryTest.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/core/ sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/core/ExternalIdentifierTest.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/core/ExternalLinkTest.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/core/ExtrinsicObjectTest.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/core/ObjectRefTest.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/core/RegistryObjectTest.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/core/RegistryPackageTest.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/core/SlotTest.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/core/datatype/ sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/core/datatype/InternationalStringTest.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/core/datatype/LocalizedStringTest.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/event/ sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/event/AdhocQueryTest.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/event/NotifyActionTest.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/event/QueryExpressionTest.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/event/SubscriptionTest.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/provenance/ sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/provenance/EmailAddressTest.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/provenance/OrganizationTest.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/provenance/PersonNameTest.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/provenance/PersonTest.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/provenance/PostalAddressTest.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/provenance/TelephoneNumberTest.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/provenance/UserTest.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/service/ sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/service/ServiceBindingTest.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/service/ServiceTest.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/service/SpecificationLinkTest.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/ sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/association/ sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/association/AssociationFactory.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/classification/ sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/classification/ClassificationFactory.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/classification/ClassificationNodeFactory.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/classification/ClassificationSchemeFactory.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/cooperatingregistries/ sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/cooperatingregistries/FederationFactory.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/cooperatingregistries/RegistryFactory.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/core/ sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/core/ExternalIdentifierFactory.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/core/ExternalLinkFactory.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/core/ExtrinsicObjectFactory.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/core/ObjectRefFactory.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/core/RegistryObjectFactory.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/core/RegistryPackageFactory.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/core/SlotFactory.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/core/ValueListFactory.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/core/VersionInfoFactory.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/core/datatype/ sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/core/datatype/InternationalStringFactory.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/core/datatype/LocalizedStringFactory.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/event/ sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/event/AdhocQueryFactory.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/event/NotifyActionFactory.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/event/QueryExpressionFactory.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/event/SubscriptionFactory.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/provenance/ sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/provenance/EmailAddressFactory.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/provenance/OrganizationFactory.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/provenance/PersonFactory.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/provenance/PersonNameFactory.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/provenance/PostalAddressFactory.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/provenance/TelephoneNumberFactory.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/provenance/UserFactory.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/service/ sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/service/ServiceBindingFactory.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/service/ServiceFactory.java sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/utilities/service/SpecificationLinkFactory.java Added: sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/association/AssociationTest.java =================================================================== --- sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/association/AssociationTest.java (rev 0) +++ sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/association/AssociationTest.java 2008-10-23 18:06:56 UTC (rev 1632) @@ -0,0 +1,140 @@ +//============================================================================= +//=== Copyright (C) 2008 European Space Agency (ESA). +//=== +//=== This program is free software; you can redistribute it and/or modify +//=== it under the terms of the GNU General Public License as published by +//=== the Free Software Foundation; either version 2 of the License, or (at +//=== your option) any later version. +//=== +//=== This program is distributed in the hope that it will be useful, but +//=== WITHOUT ANY WARRANTY; without even the implied warranty of +//=== MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +//=== General Public License for more details. +//=== +//=== You should have received a copy of the GNU General Public License +//=== along with this program; if not, write to the Free Software +//=== Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA +//=== +//=== Contact: Jeroen Ticheler - E-mail: geo...@os... + +//============================================================================== + +package org.geonetwork.domain.ebxml.test.informationmodel.association; + +import java.io.BufferedWriter; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.io.Writer; + +import org.custommonkey.xmlunit.Diff; +import org.custommonkey.xmlunit.DifferenceListener; +import org.custommonkey.xmlunit.IgnoreTextAndAttributeValuesDifferenceListener; +import org.custommonkey.xmlunit.XMLTestCase; +import org.geonetwork.domain.ebxml.informationmodel.association.Association; +import org.geonetwork.domain.ebxml.test.utilities.association.AssociationFactory; +import org.jibx.runtime.BindingDirectory; +import org.jibx.runtime.IBindingFactory; +import org.jibx.runtime.IMarshallingContext; +import org.jibx.runtime.IUnmarshallingContext; +import org.jibx.runtime.JiBXException; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; + + +/** + * Tests marshalling and unmarshalling. + * + * @author heikki doeleman + * + */ +public class AssociationTest extends XMLTestCase { + + public AssociationTest(String name) { + super(name); + } + + /** + * TODO Erik van Ingen: remove fake test method. + */ + public void testNothing() { + assertTrue(true); + } + + /** + * Tests unmarshalling (XML is instantiated as Java object) for Association. + * @throws FileNotFoundException + * @throws JiBXException + */ + public void xtestUnmarshal() throws FileNotFoundException, JiBXException { + + // TODO Erik van Ingen: Fix fetching testdata in Maven's Junit run + + // get input XML from file system + InputStream testData = this.getClass().getClassLoader().getResourceAsStream("AssociationTestData.xml"); + InputStreamReader fileReader = new InputStreamReader(testData); + + // create JiBX unmarshal context + IBindingFactory bfact = BindingDirectory.getFactory(Association.class); + IUnmarshallingContext unMarshallingContext = bfact.createUnmarshallingContext(); + + // unmarshal to Association + Association unMarshallingResult = (Association)unMarshallingContext.unmarshalDocument(fileReader); + + // get expected result from test factory + Association expectedResult = AssociationFactory.create(); + + // test equality + assertEquals("Unmarshalling Association", expectedResult, unMarshallingResult); + } + + /** + * Tests marshalling (Java object puts out XML) a Association. + * @throws JiBXException + * @throws SAXException + * @throws IOException + */ + public void xtestMarshal() throws JiBXException, SAXException, IOException { + + // TODO Erik van Ingen: Fix fetching testdata in Maven's Junit run + + // create a Association with some values + Association o = AssociationFactory.create(); + + // set up JiBX marshalling context + IBindingFactory bfact = BindingDirectory.getFactory(Association.class); + IMarshallingContext marshallingContext = bfact.createMarshallingContext(); + + // marshal to console - nice if you're looking + Writer outConsole = new BufferedWriter(new OutputStreamWriter(System.out)); + marshallingContext.setOutput(outConsole); + marshallingContext.setIndent(3); + marshallingContext.marshalDocument(o, "UTF-8", null); + + // marshal to outputstream + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + Writer out = new BufferedWriter(new OutputStreamWriter(outputStream)); + marshallingContext.setIndent(3); + marshallingContext.setOutput(out); + marshallingContext.marshalDocument(o, "UTF-8", null); + + // convert to InputSource for the comparison test + InputSource marshallingResult = new InputSource(new ByteArrayInputStream(outputStream.toByteArray())); + + // get expected result from filesystem + InputStream testData = this.getClass().getClassLoader().getResourceAsStream("AssociationTestData.xml"); + InputStreamReader fileReader = new InputStreamReader(testData); + InputSource expectedResult = new InputSource(fileReader); + + // comparison test + DifferenceListener differenceListener = new IgnoreTextAndAttributeValuesDifferenceListener(); + Diff diff = new Diff(expectedResult, marshallingResult); + diff.overrideDifferenceListener(differenceListener); + assertTrue("Marshalled Association matches expected XML " + diff, diff.similar()); + } + +} Added: sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/classification/ClassificationNodeTest.java =================================================================== --- sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/classification/ClassificationNodeTest.java (rev 0) +++ sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/classification/ClassificationNodeTest.java 2008-10-23 18:06:56 UTC (rev 1632) @@ -0,0 +1,140 @@ +//============================================================================= +//=== Copyright (C) 2008 European Space Agency (ESA). +//=== +//=== This program is free software; you can redistribute it and/or modify +//=== it under the terms of the GNU General Public License as published by +//=== the Free Software Foundation; either version 2 of the License, or (at +//=== your option) any later version. +//=== +//=== This program is distributed in the hope that it will be useful, but +//=== WITHOUT ANY WARRANTY; without even the implied warranty of +//=== MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +//=== General Public License for more details. +//=== +//=== You should have received a copy of the GNU General Public License +//=== along with this program; if not, write to the Free Software +//=== Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA +//=== +//=== Contact: Jeroen Ticheler - E-mail: geo...@os... + +//============================================================================== + +package org.geonetwork.domain.ebxml.test.informationmodel.classification; + +import java.io.BufferedWriter; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.io.Writer; + +import org.custommonkey.xmlunit.Diff; +import org.custommonkey.xmlunit.DifferenceListener; +import org.custommonkey.xmlunit.IgnoreTextAndAttributeValuesDifferenceListener; +import org.custommonkey.xmlunit.XMLTestCase; +import org.geonetwork.domain.ebxml.informationmodel.classification.ClassificationNode; +import org.geonetwork.domain.ebxml.test.utilities.classification.ClassificationNodeFactory; +import org.jibx.runtime.BindingDirectory; +import org.jibx.runtime.IBindingFactory; +import org.jibx.runtime.IMarshallingContext; +import org.jibx.runtime.IUnmarshallingContext; +import org.jibx.runtime.JiBXException; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; + + +/** + * Tests marshalling and unmarshalling. + * + * @author heikki doeleman + * + */ +public class ClassificationNodeTest extends XMLTestCase { + + public ClassificationNodeTest(String name) { + super(name); + } + + /** + * TODO Erik van Ingen: remove fake test method. + */ + public void testNothing() { + assertTrue(true); + } + + /** + * Tests unmarshalling (XML is instantiated as Java object) for ClassificationNode. + * @throws FileNotFoundException + * @throws JiBXException + */ + public void xtestUnmarshal() throws FileNotFoundException, JiBXException { + + // TODO Erik van Ingen: Fix fetching testdata in Maven's Junit run + + // get input XML from file system + InputStream testData = this.getClass().getClassLoader().getResourceAsStream("ClassificationNodeTestData.xml"); + InputStreamReader fileReader = new InputStreamReader(testData); + + // create JiBX unmarshal context + IBindingFactory bfact = BindingDirectory.getFactory(ClassificationNode.class); + IUnmarshallingContext unMarshallingContext = bfact.createUnmarshallingContext(); + + // unmarshal to ClassificationNode + ClassificationNode unMarshallingResult = (ClassificationNode)unMarshallingContext.unmarshalDocument(fileReader); + + // get expected result from test factory + ClassificationNode expectedResult = ClassificationNodeFactory.create(); + + // test equality + assertEquals("Unmarshalling ClassificationNode", expectedResult, unMarshallingResult); + } + + /** + * Tests marshalling (Java object puts out XML) a ClassificationNode. + * @throws JiBXException + * @throws SAXException + * @throws IOException + */ + public void xtestMarshal() throws JiBXException, SAXException, IOException { + + // TODO Erik van Ingen: Fix fetching testdata in Maven's Junit run + + // create a ClassificationNode with some values + ClassificationNode o = ClassificationNodeFactory.create(); + + // set up JiBX marshalling context + IBindingFactory bfact = BindingDirectory.getFactory(ClassificationNode.class); + IMarshallingContext marshallingContext = bfact.createMarshallingContext(); + + // marshal to console - nice if you're looking + Writer outConsole = new BufferedWriter(new OutputStreamWriter(System.out)); + marshallingContext.setOutput(outConsole); + marshallingContext.setIndent(3); + marshallingContext.marshalDocument(o, "UTF-8", null); + + // marshal to outputstream + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + Writer out = new BufferedWriter(new OutputStreamWriter(outputStream)); + marshallingContext.setIndent(3); + marshallingContext.setOutput(out); + marshallingContext.marshalDocument(o, "UTF-8", null); + + // convert to InputSource for the comparison test + InputSource marshallingResult = new InputSource(new ByteArrayInputStream(outputStream.toByteArray())); + + // get expected result from filesystem + InputStream testData = this.getClass().getClassLoader().getResourceAsStream("ClassificationNodeTestData.xml"); + InputStreamReader fileReader = new InputStreamReader(testData); + InputSource expectedResult = new InputSource(fileReader); + + // comparison test + DifferenceListener differenceListener = new IgnoreTextAndAttributeValuesDifferenceListener(); + Diff diff = new Diff(expectedResult, marshallingResult); + diff.overrideDifferenceListener(differenceListener); + assertTrue("Marshalled ClassificationNode matches expected XML " + diff, diff.similar()); + } + +} Added: sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/classification/ClassificationSchemeTest.java =================================================================== --- sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/classification/ClassificationSchemeTest.java (rev 0) +++ sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/classification/ClassificationSchemeTest.java 2008-10-23 18:06:56 UTC (rev 1632) @@ -0,0 +1,140 @@ +//============================================================================= +//=== Copyright (C) 2008 European Space Agency (ESA). +//=== +//=== This program is free software; you can redistribute it and/or modify +//=== it under the terms of the GNU General Public License as published by +//=== the Free Software Foundation; either version 2 of the License, or (at +//=== your option) any later version. +//=== +//=== This program is distributed in the hope that it will be useful, but +//=== WITHOUT ANY WARRANTY; without even the implied warranty of +//=== MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +//=== General Public License for more details. +//=== +//=== You should have received a copy of the GNU General Public License +//=== along with this program; if not, write to the Free Software +//=== Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA +//=== +//=== Contact: Jeroen Ticheler - E-mail: geo...@os... + +//============================================================================== + +package org.geonetwork.domain.ebxml.test.informationmodel.classification; + +import java.io.BufferedWriter; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.io.Writer; + +import org.custommonkey.xmlunit.Diff; +import org.custommonkey.xmlunit.DifferenceListener; +import org.custommonkey.xmlunit.IgnoreTextAndAttributeValuesDifferenceListener; +import org.custommonkey.xmlunit.XMLTestCase; +import org.geonetwork.domain.ebxml.informationmodel.classification.ClassificationScheme; +import org.geonetwork.domain.ebxml.test.utilities.classification.ClassificationSchemeFactory; +import org.jibx.runtime.BindingDirectory; +import org.jibx.runtime.IBindingFactory; +import org.jibx.runtime.IMarshallingContext; +import org.jibx.runtime.IUnmarshallingContext; +import org.jibx.runtime.JiBXException; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; + + +/** + * Tests marshalling and unmarshalling. + * + * @author heikki doeleman + * + */ +public class ClassificationSchemeTest extends XMLTestCase { + + public ClassificationSchemeTest(String name) { + super(name); + } + + /** + * TODO Erik van Ingen: remove fake test method. + */ + public void testNothing() { + assertTrue(true); + } + + /** + * Tests unmarshalling (XML is instantiated as Java object) for ClassificationScheme. + * @throws FileNotFoundException + * @throws JiBXException + */ + public void xtestUnmarshal() throws FileNotFoundException, JiBXException { + + // TODO Erik van Ingen: Fix fetching testdata in Maven's Junit run + + // get input XML from file system + InputStream testData = this.getClass().getClassLoader().getResourceAsStream("ClassificationSchemeTestData.xml"); + InputStreamReader fileReader = new InputStreamReader(testData); + + // create JiBX unmarshal context + IBindingFactory bfact = BindingDirectory.getFactory(ClassificationScheme.class); + IUnmarshallingContext unMarshallingContext = bfact.createUnmarshallingContext(); + + // unmarshal to ClassificationScheme + ClassificationScheme unMarshallingResult = (ClassificationScheme)unMarshallingContext.unmarshalDocument(fileReader); + + // get expected result from test factory + ClassificationScheme expectedResult = ClassificationSchemeFactory.create(); + + // test equality + assertEquals("Unmarshalling ClassificationScheme", expectedResult, unMarshallingResult); + } + + /** + * Tests marshalling (Java object puts out XML) a ClassificationScheme. + * @throws JiBXException + * @throws SAXException + * @throws IOException + */ + public void xtestMarshal() throws JiBXException, SAXException, IOException { + + // TODO Erik van Ingen: Fix fetching testdata in Maven's Junit run + + // create a ClassificationScheme with some values + ClassificationScheme o = ClassificationSchemeFactory.create(); + + // set up JiBX marshalling context + IBindingFactory bfact = BindingDirectory.getFactory(ClassificationScheme.class); + IMarshallingContext marshallingContext = bfact.createMarshallingContext(); + + // marshal to console - nice if you're looking + Writer outConsole = new BufferedWriter(new OutputStreamWriter(System.out)); + marshallingContext.setOutput(outConsole); + marshallingContext.setIndent(3); + marshallingContext.marshalDocument(o, "UTF-8", null); + + // marshal to outputstream + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + Writer out = new BufferedWriter(new OutputStreamWriter(outputStream)); + marshallingContext.setIndent(3); + marshallingContext.setOutput(out); + marshallingContext.marshalDocument(o, "UTF-8", null); + + // convert to InputSource for the comparison test + InputSource marshallingResult = new InputSource(new ByteArrayInputStream(outputStream.toByteArray())); + + // get expected result from filesystem + InputStream testData = this.getClass().getClassLoader().getResourceAsStream("ClassificationSchemeTestData.xml"); + InputStreamReader fileReader = new InputStreamReader(testData); + InputSource expectedResult = new InputSource(fileReader); + + // comparison test + DifferenceListener differenceListener = new IgnoreTextAndAttributeValuesDifferenceListener(); + Diff diff = new Diff(expectedResult, marshallingResult); + diff.overrideDifferenceListener(differenceListener); + assertTrue("Marshalled ClassificationScheme matches expected XML " + diff, diff.similar()); + } + +} Added: sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/classification/ClassificationTest.java =================================================================== --- sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/classification/ClassificationTest.java (rev 0) +++ sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/classification/ClassificationTest.java 2008-10-23 18:06:56 UTC (rev 1632) @@ -0,0 +1,140 @@ +//============================================================================= +//=== Copyright (C) 2008 European Space Agency (ESA). +//=== +//=== This program is free software; you can redistribute it and/or modify +//=== it under the terms of the GNU General Public License as published by +//=== the Free Software Foundation; either version 2 of the License, or (at +//=== your option) any later version. +//=== +//=== This program is distributed in the hope that it will be useful, but +//=== WITHOUT ANY WARRANTY; without even the implied warranty of +//=== MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +//=== General Public License for more details. +//=== +//=== You should have received a copy of the GNU General Public License +//=== along with this program; if not, write to the Free Software +//=== Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA +//=== +//=== Contact: Jeroen Ticheler - E-mail: geo...@os... + +//============================================================================== + +package org.geonetwork.domain.ebxml.test.informationmodel.classification; + +import java.io.BufferedWriter; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.io.Writer; + +import org.custommonkey.xmlunit.Diff; +import org.custommonkey.xmlunit.DifferenceListener; +import org.custommonkey.xmlunit.IgnoreTextAndAttributeValuesDifferenceListener; +import org.custommonkey.xmlunit.XMLTestCase; +import org.geonetwork.domain.ebxml.informationmodel.classification.Classification; +import org.geonetwork.domain.ebxml.test.utilities.classification.ClassificationFactory; +import org.jibx.runtime.BindingDirectory; +import org.jibx.runtime.IBindingFactory; +import org.jibx.runtime.IMarshallingContext; +import org.jibx.runtime.IUnmarshallingContext; +import org.jibx.runtime.JiBXException; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; + + +/** + * Tests marshalling and unmarshalling. + * + * @author heikki doeleman + * + */ +public class ClassificationTest extends XMLTestCase { + + public ClassificationTest(String name) { + super(name); + } + + /** + * TODO Erik van Ingen: remove fake test method. + */ + public void testNothing() { + assertTrue(true); + } + + + /** + * Tests unmarshalling (XML is instantiated as Java object) for Classification. + * @throws FileNotFoundException + * @throws JiBXException + */ + public void xtestUnmarshal() throws FileNotFoundException, JiBXException { + + // TODO Erik van Ingen: Fix fetching testdata in Maven's Junit run + + // get input XML from file system + InputStream testData = this.getClass().getClassLoader().getResourceAsStream("ClassificationTestData.xml"); + InputStreamReader fileReader = new InputStreamReader(testData); + + // create JiBX unmarshal context + IBindingFactory bfact = BindingDirectory.getFactory(Classification.class); + IUnmarshallingContext unMarshallingContext = bfact.createUnmarshallingContext(); + + // unmarshal to Classification + Classification unMarshallingResult = (Classification)unMarshallingContext.unmarshalDocument(fileReader); + + // get expected result from test factory + Classification expectedResult = ClassificationFactory.create(); + + // test equality + assertEquals("Unmarshalling Classification", expectedResult, unMarshallingResult); + } + + /** + * Tests marshalling (Java object puts out XML) a Classification. + * @throws JiBXException + * @throws SAXException + * @throws IOException + */ + public void xtestMarshal() throws JiBXException, SAXException, IOException { + + // TODO Erik van Ingen: Fix fetching testdata in Maven's Junit run + + // create a Classification with some values + Classification o = ClassificationFactory.create(); + + // set up JiBX marshalling context + IBindingFactory bfact = BindingDirectory.getFactory(Classification.class); + IMarshallingContext marshallingContext = bfact.createMarshallingContext(); + + // marshal to console - nice if you're looking + Writer outConsole = new BufferedWriter(new OutputStreamWriter(System.out)); + marshallingContext.setOutput(outConsole); + marshallingContext.setIndent(3); + marshallingContext.marshalDocument(o, "UTF-8", null); + + // marshal to outputstream + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + Writer out = new BufferedWriter(new OutputStreamWriter(outputStream)); + marshallingContext.setIndent(3); + marshallingContext.setOutput(out); + marshallingContext.marshalDocument(o, "UTF-8", null); + + // convert to InputSource for the comparison test + InputSource marshallingResult = new InputSource(new ByteArrayInputStream(outputStream.toByteArray())); + + // get expected result from filesystem + InputStream testData = this.getClass().getClassLoader().getResourceAsStream("ClassificationTestData.xml"); + InputStreamReader fileReader = new InputStreamReader(testData); + InputSource expectedResult = new InputSource(fileReader); + + // comparison test + DifferenceListener differenceListener = new IgnoreTextAndAttributeValuesDifferenceListener(); + Diff diff = new Diff(expectedResult, marshallingResult); + diff.overrideDifferenceListener(differenceListener); + assertTrue("Marshalled Classification matches expected XML " + diff, diff.similar()); + } +} Added: sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/cooperatingregistries/FederationTest.java =================================================================== --- sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/cooperatingregistries/FederationTest.java (rev 0) +++ sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/cooperatingregistries/FederationTest.java 2008-10-23 18:06:56 UTC (rev 1632) @@ -0,0 +1,143 @@ +//============================================================================= +//=== Copyright (C) 2008 European Space Agency (ESA). +//=== +//=== This program is free software; you can redistribute it and/or modify +//=== it under the terms of the GNU General Public License as published by +//=== the Free Software Foundation; either version 2 of the License, or (at +//=== your option) any later version. +//=== +//=== This program is distributed in the hope that it will be useful, but +//=== WITHOUT ANY WARRANTY; without even the implied warranty of +//=== MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +//=== General Public License for more details. +//=== +//=== You should have received a copy of the GNU General Public License +//=== along with this program; if not, write to the Free Software +//=== Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA +//=== +//=== Contact: Jeroen Ticheler - E-mail: geo...@os... + +//============================================================================== + +package org.geonetwork.domain.ebxml.test.informationmodel.cooperatingregistries; + +import java.io.BufferedWriter; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.io.Writer; + +import org.custommonkey.xmlunit.Diff; +import org.custommonkey.xmlunit.DifferenceListener; +import org.custommonkey.xmlunit.IgnoreTextAndAttributeValuesDifferenceListener; +import org.custommonkey.xmlunit.XMLTestCase; +import org.geonetwork.domain.ebxml.informationmodel.cooperatingregistries.Federation; +import org.geonetwork.domain.ebxml.test.utilities.cooperatingregistries.FederationFactory; +import org.jibx.runtime.BindingDirectory; +import org.jibx.runtime.IBindingFactory; +import org.jibx.runtime.IMarshallingContext; +import org.jibx.runtime.IUnmarshallingContext; +import org.jibx.runtime.JiBXException; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; + + +/** + * Tests marshalling and unmarshalling. + * + * @author heikki doeleman + * + */ +public class FederationTest extends XMLTestCase { + + public FederationTest(String name) { + super(name); + } + + /** + * TODO Erik van Ingen: remove fake test method. + */ + public void testNothing() { + assertTrue(true); + } + + + /** + * Tests unmarshalling (XML is instantiated as Java object) for Federation. + * @throws FileNotFoundException + * @throws JiBXException + */ + public void xtestUnmarshal() throws FileNotFoundException, JiBXException { + + // TODO Erik van Ingen: Fix fetching testdata in Maven's Junit run + + // get input XML from file system + InputStream testData = this.getClass().getClassLoader().getResourceAsStream("FederationTestData.xml"); + InputStreamReader fileReader = new InputStreamReader(testData); + + // create JiBX unmarshal context + IBindingFactory bfact = BindingDirectory.getFactory(Federation.class); + IUnmarshallingContext unMarshallingContext = bfact.createUnmarshallingContext(); + + // unmarshal to Federation + Federation unMarshallingResult = (Federation)unMarshallingContext.unmarshalDocument(fileReader); + + // get expected result from test factory + Federation expectedResult = FederationFactory.create(); + + // test equality + assertEquals("Unmarshalling Federation", expectedResult, unMarshallingResult); + + } + + /** + * Tests marshalling (Java object puts out XML) a Federation. + * @throws JiBXException + * @throws SAXException + * @throws IOException + */ + public void xtestMarshal() throws JiBXException, SAXException, IOException { + + // TODO Erik van Ingen: Fix fetching testdata in Maven's Junit run + + // create a Federation with some values + Federation o = FederationFactory.create(); + + // set up JiBX marshalling context + IBindingFactory bfact = BindingDirectory.getFactory(Federation.class); + IMarshallingContext marshallingContext = bfact.createMarshallingContext(); + + // marshal to console - nice if you're looking + Writer outConsole = new BufferedWriter(new OutputStreamWriter(System.out)); + marshallingContext.setOutput(outConsole); + marshallingContext.setIndent(3); + marshallingContext.marshalDocument(o, "UTF-8", null); + + // marshal to outputstream + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + Writer out = new BufferedWriter(new OutputStreamWriter(outputStream)); + marshallingContext.setIndent(3); + marshallingContext.setOutput(out); + marshallingContext.marshalDocument(o, "UTF-8", null); + + // convert to InputSource for the comparison test + InputSource marshallingResult = new InputSource(new ByteArrayInputStream(outputStream.toByteArray())); + + // get expected result from filesystem + InputStream testData = this.getClass().getClassLoader().getResourceAsStream("FederationTestData.xml"); + InputStreamReader fileReader = new InputStreamReader(testData); + InputSource expectedResult = new InputSource(fileReader); + + // comparison test + DifferenceListener differenceListener = new IgnoreTextAndAttributeValuesDifferenceListener(); + Diff diff = new Diff(expectedResult, marshallingResult); + diff.overrideDifferenceListener(differenceListener); + assertTrue("Marshalled Federation matches expected XML " + diff, diff.similar()); + + } + +} Added: sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/cooperatingregistries/RegistryTest.java =================================================================== --- sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/cooperatingregistries/RegistryTest.java (rev 0) +++ sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/cooperatingregistries/RegistryTest.java 2008-10-23 18:06:56 UTC (rev 1632) @@ -0,0 +1,142 @@ +//============================================================================= +//=== Copyright (C) 2008 European Space Agency (ESA). +//=== +//=== This program is free software; you can redistribute it and/or modify +//=== it under the terms of the GNU General Public License as published by +//=== the Free Software Foundation; either version 2 of the License, or (at +//=== your option) any later version. +//=== +//=== This program is distributed in the hope that it will be useful, but +//=== WITHOUT ANY WARRANTY; without even the implied warranty of +//=== MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +//=== General Public License for more details. +//=== +//=== You should have received a copy of the GNU General Public License +//=== along with this program; if not, write to the Free Software +//=== Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA +//=== +//=== Contact: Jeroen Ticheler - E-mail: geo...@os... + +//============================================================================== + +package org.geonetwork.domain.ebxml.test.informationmodel.cooperatingregistries; + +import java.io.BufferedWriter; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.io.Writer; + +import org.custommonkey.xmlunit.Diff; +import org.custommonkey.xmlunit.DifferenceListener; +import org.custommonkey.xmlunit.IgnoreTextAndAttributeValuesDifferenceListener; +import org.custommonkey.xmlunit.XMLTestCase; +import org.geonetwork.domain.ebxml.informationmodel.cooperatingregistries.Registry; +import org.geonetwork.domain.ebxml.test.utilities.cooperatingregistries.RegistryFactory; +import org.jibx.runtime.BindingDirectory; +import org.jibx.runtime.IBindingFactory; +import org.jibx.runtime.IMarshallingContext; +import org.jibx.runtime.IUnmarshallingContext; +import org.jibx.runtime.JiBXException; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; + + +/** + * Tests marshalling and unmarshalling. + * + * @author heikki doeleman + * + */ +public class RegistryTest extends XMLTestCase { + + public RegistryTest(String name) { + super(name); + } + + /** + * TODO Erik van Ingen: remove fake test method. + */ + public void testNothing() { + assertTrue(true); + } + + /** + * Tests unmarshalling (XML is instantiated as Java object) for Registry. + * @throws FileNotFoundException + * @throws JiBXException + */ + public void xtestUnmarshal() throws FileNotFoundException, JiBXException { + + // TODO Erik van Ingen: Fix fetching testdata in Maven's Junit run + + // get input XML from file system + InputStream testData = this.getClass().getClassLoader().getResourceAsStream("RegistryTestData.xml"); + InputStreamReader fileReader = new InputStreamReader(testData); + + // create JiBX unmarshal context + IBindingFactory bfact = BindingDirectory.getFactory(Registry.class); + IUnmarshallingContext unMarshallingContext = bfact.createUnmarshallingContext(); + + // unmarshal to Registry + Registry unMarshallingResult = (Registry)unMarshallingContext.unmarshalDocument(fileReader); + + // get expected result from test factory + Registry expectedResult = RegistryFactory.create(); + + // test equality + assertEquals("Unmarshalling Registry", expectedResult, unMarshallingResult); + + } + + /** + * Tests marshalling (Java object puts out XML) a Registry. + * @throws JiBXException + * @throws SAXException + * @throws IOException + */ + public void xtestMarshal() throws JiBXException, SAXException, IOException { + + // TODO Erik van Ingen: Fix fetching testdata in Maven's Junit run + + // create a Registry with some values + Registry o = RegistryFactory.create(); + + // set up JiBX marshalling context + IBindingFactory bfact = BindingDirectory.getFactory(Registry.class); + IMarshallingContext marshallingContext = bfact.createMarshallingContext(); + + // marshal to console - nice if you're looking + Writer outConsole = new BufferedWriter(new OutputStreamWriter(System.out)); + marshallingContext.setOutput(outConsole); + marshallingContext.setIndent(3); + marshallingContext.marshalDocument(o, "UTF-8", null); + + // marshal to outputstream + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + Writer out = new BufferedWriter(new OutputStreamWriter(outputStream)); + marshallingContext.setIndent(3); + marshallingContext.setOutput(out); + marshallingContext.marshalDocument(o, "UTF-8", null); + + // convert to InputSource for the comparison test + InputSource marshallingResult = new InputSource(new ByteArrayInputStream(outputStream.toByteArray())); + + // get expected result from filesystem + InputStream testData = this.getClass().getClassLoader().getResourceAsStream("RegistryTestData.xml"); + InputStreamReader fileReader = new InputStreamReader(testData); + InputSource expectedResult = new InputSource(fileReader); + + // comparison test + DifferenceListener differenceListener = new IgnoreTextAndAttributeValuesDifferenceListener(); + Diff diff = new Diff(expectedResult, marshallingResult); + diff.overrideDifferenceListener(differenceListener); + assertTrue("Marshalled Registry matches expected XML " + diff, diff.similar()); + + } + +} Added: sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/core/ExternalIdentifierTest.java =================================================================== --- sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/core/ExternalIdentifierTest.java (rev 0) +++ sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/core/ExternalIdentifierTest.java 2008-10-23 18:06:56 UTC (rev 1632) @@ -0,0 +1,142 @@ +//============================================================================= +//=== Copyright (C) 2008 European Space Agency (ESA). +//=== +//=== This program is free software; you can redistribute it and/or modify +//=== it under the terms of the GNU General Public License as published by +//=== the Free Software Foundation; either version 2 of the License, or (at +//=== your option) any later version. +//=== +//=== This program is distributed in the hope that it will be useful, but +//=== WITHOUT ANY WARRANTY; without even the implied warranty of +//=== MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +//=== General Public License for more details. +//=== +//=== You should have received a copy of the GNU General Public License +//=== along with this program; if not, write to the Free Software +//=== Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA +//=== +//=== Contact: Jeroen Ticheler - E-mail: geo...@os... + +//============================================================================== + +package org.geonetwork.domain.ebxml.test.informationmodel.core; + +import java.io.BufferedWriter; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.io.Writer; + +import org.custommonkey.xmlunit.Diff; +import org.custommonkey.xmlunit.DifferenceListener; +import org.custommonkey.xmlunit.IgnoreTextAndAttributeValuesDifferenceListener; +import org.custommonkey.xmlunit.XMLTestCase; +import org.geonetwork.domain.ebxml.informationmodel.core.ExternalIdentifier; +import org.geonetwork.domain.ebxml.test.utilities.core.ExternalIdentifierFactory; +import org.jibx.runtime.BindingDirectory; +import org.jibx.runtime.IBindingFactory; +import org.jibx.runtime.IMarshallingContext; +import org.jibx.runtime.IUnmarshallingContext; +import org.jibx.runtime.JiBXException; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; + + +/** + * Tests marshalling and unmarshalling. + * + * @author heikki doeleman + * + */ +public class ExternalIdentifierTest extends XMLTestCase { + + public ExternalIdentifierTest(String name) { + super(name); + } + + /** + * TODO Erik van Ingen: remove fake test method. + */ + public void testNothing() { + assertTrue(true); + } + + /** + * Tests unmarshalling (XML is instantiated as Java object) for ExternalIdentifier. + * @throws FileNotFoundException + * @throws JiBXException + */ + public void xtestUnmarshal() throws FileNotFoundException, JiBXException { + + // TODO Erik van Ingen: Fix fetching testdata in Maven's Junit run + + // get input XML from file system + InputStream testData = this.getClass().getClassLoader().getResourceAsStream("ExternalIdentifierTestData.xml"); + InputStreamReader fileReader = new InputStreamReader(testData); + + // create JiBX unmarshal context + IBindingFactory bfact = BindingDirectory.getFactory(ExternalIdentifier.class); + IUnmarshallingContext unMarshallingContext = bfact.createUnmarshallingContext(); + + // unmarshal to ExternalIdentifier + ExternalIdentifier unMarshallingResult = (ExternalIdentifier)unMarshallingContext.unmarshalDocument(fileReader); + + // get expected result from test factory + ExternalIdentifier expectedResult = ExternalIdentifierFactory.create(); + + // test equality + assertEquals("Unmarshalling ExternalIdentifier", expectedResult, unMarshallingResult); + + } + + /** + * Tests marshalling (Java object puts out XML) a ExternalIdentifier. + * @throws JiBXException + * @throws SAXException + * @throws IOException + */ + public void xtestMarshal() throws JiBXException, SAXException, IOException { + + // TODO Erik van Ingen: Fix fetching testdata in Maven's Junit run + + // create a ExternalLink with some values + ExternalIdentifier o = ExternalIdentifierFactory.create(); + + // set up JiBX marshalling context + IBindingFactory bfact = BindingDirectory.getFactory(ExternalIdentifier.class); + IMarshallingContext marshallingContext = bfact.createMarshallingContext(); + + // marshal to console - nice if you're looking + Writer outConsole = new BufferedWriter(new OutputStreamWriter(System.out)); + marshallingContext.setOutput(outConsole); + marshallingContext.setIndent(3); + marshallingContext.marshalDocument(o, "UTF-8", null); + + // marshal to outputstream + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + Writer out = new BufferedWriter(new OutputStreamWriter(outputStream)); + marshallingContext.setIndent(3); + marshallingContext.setOutput(out); + marshallingContext.marshalDocument(o, "UTF-8", null); + + // convert to InputSource for the comparison test + InputSource marshallingResult = new InputSource(new ByteArrayInputStream(outputStream.toByteArray())); + + // get expected result from filesystem + InputStream testData = this.getClass().getClassLoader().getResourceAsStream("ExternalIdentifierTestData.xml"); + InputStreamReader fileReader = new InputStreamReader(testData); + InputSource expectedResult = new InputSource(fileReader); + + // comparison test + DifferenceListener differenceListener = new IgnoreTextAndAttributeValuesDifferenceListener(); + Diff diff = new Diff(expectedResult, marshallingResult); + diff.overrideDifferenceListener(differenceListener); + assertTrue("Marshalled ExternalIdentifier matches expected XML " + diff, diff.similar()); + + } + +} Added: sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/core/ExternalLinkTest.java =================================================================== --- sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/core/ExternalLinkTest.java (rev 0) +++ sandbox/3.0.x/geonetwork-domain-ebxml/src/test/java/org/geonetwork/domain/ebxml/test/informationmodel/core/ExternalLinkTest.java 2008-10-23 18:06:56 UTC (rev 1632) @@ -0,0 +1,142 @@ +//============================================================================= +//=== Copyright (C) 2008 European Space Agency (ESA). +//=== +//=== This program is free software; you can redistribute it and/or modify +//=== it under the terms of the GNU General Public License as published by +//=== the Free Software Foundation; either version 2 of the License, or (at +//=== your option) any later version. +//=== +//=== This program is distributed in the hope that it will be useful, but +//=== WITHOUT ANY WARRANTY; without even the implied warranty of +//=== MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +//=== General Public License for more details. +//=== +//=== You should have received a copy of the GNU General Public License +//=== along with this program; if not, write to the Free Software +//=== Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA +//=== +//=== Contact: Jeroen Ticheler - E-mail: geo...@os... + +//============================================================================== + +package org.geonetwork.domain.ebxml.test.informationmodel.core; + +import java.io.BufferedWriter; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.io.Writer; + +import org.custommonkey.xmlunit.Diff; +import org.custommonkey.xmlunit.DifferenceListener; +import org.custommonkey.xmlunit.IgnoreTextAndAttributeValuesDifferenceListener; +import org.custommonkey.xmlunit.XMLTestCase; +import org.geonetwork.domain.ebxml.informationmodel.core.ExternalLink; +import org.geonetwork.domain.ebxml.test.utilities.core.ExternalLinkFactory; +import org.jibx.runtime.BindingDirectory; +import org.jibx.runtime.IBindingFactory; +import org.jibx.runtime.IMarshallingContext; +import org.jibx.runtime.IUnmarshallingContext; +import org.jibx.runtime.JiBXException; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; + + +/** + * Tests marshalling and unmarshalling. + * + * @author heikki doeleman + * + */ +public class ExternalLinkTest extends XMLTestCase { + + public ExternalLinkTest(String name) { + super(name); + } + + /** + * TODO Erik van Ingen: remove fake test method. + */ + public void testNothing() { + assertTrue(true); + } + + /** + * Tests unmarshalling (XML is instantiated as Java object) for ExternalLink. + * @throws FileNotFoundException + * @throws JiBXException + */ + public void xtestUnmarshal() throws FileNotFoundException, JiBXException { + + // TODO Erik van Ingen: Fix fetching testdata in Maven's Junit run + + // get input XML from file system + InputStream testData = this.getClass().getClassLoader().getResourceAsStream("ExternalLinkTestData.xml"); + InputStreamReader fileReader = new InputStreamReader(testData); + + // create JiBX unmarshal context + IBindingFactory bfact = BindingDirectory.getFactory(ExternalLink.class); + IUnmarshallingContext unMarshallingContext = bfact.createUnmarshallingContext(); + + // unmarshal to ExternalLink + ExternalLink unMarshallingResult = (ExternalLink)unMarshallingContext.unmarshalDocument(fileReader); + + // get expected result from test factory + ExternalLink expectedResult = ExternalLinkFactory.create(); + + // test equality + assertEquals("Unmarshalling ExternalLink", expectedResult, unMarshallingResult); + + } + + /** + * Tests marshalling (Java object puts out XML) a ExternalLink. + * @throws JiBXException + * @throws SAXException + * @throws IOException + */ + public void xtestMarshal() throws JiBXException, SAXException, IOException { + + // TODO Erik van Ingen: Fix fetching testdata in Maven's Junit run + + // create a ExternalLink with some values + ExternalLink o = ExternalLinkFactory.create(); + + // set up JiBX marshalling context + IBindingFactory bfact = BindingDirectory.getFactory(ExternalLink.class); + IMarshallingContext marshallingContext = bfact.createMarshallingContext(); + + // marshal to console - nice if you're looking + Writer outConsole = new BufferedWriter(new OutputStreamWriter(System.out)); + marshallingContext.setOutput(outConsole); + marshallingContext.setIndent(3); + marshallingContext.marshalDocument(o, "UTF-8", null); + + // marshal to outputstream + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + Writer out = new BufferedWriter(new OutputStreamWriter(outputStream)); + marshallingContext.setIndent(3); + marshallingContext.setOutput(out); + marshallingContext.marshalDocument(o, "UTF-8", null); + + // convert to InputSource for the comparison test + InputSource marshallingResult = new InputSource(new ByteArrayInputStream(outputStream.toByteArray())); + + // get expected result from filesystem + InputStream testData = this.getClass().getClassLoader().getResourceAsStream("ExternalLinkTestData.xml"); + InputStreamReader fileReader = new InputStreamReader(testData); + InputSource expectedResult = new InputSource(fileReader); + + // comparison test + Dif... [truncated message content] |