diff --git a/pom.xml b/pom.xml index b104ee5fa3ed9a466b2adc5a0b7ddcef4d053f1b..078a09e11182ee55409e3c0bf9e059595d527ae9 100644 --- a/pom.xml +++ b/pom.xml @@ -246,9 +246,16 @@ <artifactId>vecmath</artifactId> <version>1.3.1</version> </dependency> - - </dependencies> + <dependency> + <groupId>xstream</groupId> + <artifactId>xstream</artifactId> + <version>1.2.2</version> + </dependency> + + + + </dependencies> <repositories> <repository> diff --git a/src/test/java/com/syncleus/dann/graphicalmodel/bayesian/TestSicknessBayesianNetwork.java b/src/test/java/com/syncleus/dann/graphicalmodel/bayesian/TestSicknessBayesianNetwork.java index cd7720c8ca625fc238690959cbdad2736cc09c41..dce39859980038a3d020a9bf37a3158e7a3fe98d 100644 --- a/src/test/java/com/syncleus/dann/graphicalmodel/bayesian/TestSicknessBayesianNetwork.java +++ b/src/test/java/com/syncleus/dann/graphicalmodel/bayesian/TestSicknessBayesianNetwork.java @@ -18,12 +18,12 @@ ******************************************************************************/ package com.syncleus.dann.graphicalmodel.bayesian; -import java.io.StringReader; -import java.io.StringWriter; import java.util.*; import com.syncleus.dann.graph.ImmutableDirectedEdge; import com.syncleus.dann.graphicalmodel.GraphicalModelNode; import com.syncleus.dann.graphicalmodel.SimpleGraphicalModelNode; +import com.thoughtworks.xstream.XStream; +import com.thoughtworks.xstream.io.xml.StaxDriver; import org.junit.*; public class TestSicknessBayesianNetwork @@ -58,6 +58,20 @@ public class TestSicknessBayesianNetwork private GraphicalModelNode<BooleanState> tired = new SimpleGraphicalModelNode<BooleanState>(BooleanState.FALSE); private GraphicalModelNode<BooleanState> sick = new SimpleGraphicalModelNode<BooleanState>(BooleanState.FALSE); + @Test + public void testXml() throws Exception + { + testOverall(); + + final XStream xstream = new XStream(new StaxDriver()); + final String xml = xstream.toXML(network); + Assert.assertTrue("could not serialize network!", xml != null); + final Object networkObject = xstream.fromXML(xml); + Assert.assertTrue("deserialized object type doesnt match serialized object type", networkObject instanceof MutableBayesianAdjacencyNetwork); + Assert.assertTrue("deserialized network had the wrong number of edges", ((MutableBayesianAdjacencyNetwork)networkObject).getEdges().size() == network.getEdges().size()); + Assert.assertTrue("deserialized network had the wrong number of nodes", ((MutableBayesianAdjacencyNetwork)networkObject).getNodes().size() == network.getNodes().size()); + } + @Test public void testOverallRepeated() { diff --git a/src/test/java/com/syncleus/dann/graphicalmodel/markovrandomfield/TestSicknessRandomMarkovField.java b/src/test/java/com/syncleus/dann/graphicalmodel/markovrandomfield/TestSicknessRandomMarkovField.java index 73810befa55ccd294de9c24d33db4344109d28cb..7002555dec65b23f8e14eea4fdd026e5264f5d8f 100644 --- a/src/test/java/com/syncleus/dann/graphicalmodel/markovrandomfield/TestSicknessRandomMarkovField.java +++ b/src/test/java/com/syncleus/dann/graphicalmodel/markovrandomfield/TestSicknessRandomMarkovField.java @@ -18,19 +18,15 @@ ******************************************************************************/ package com.syncleus.dann.graphicalmodel.markovrandomfield; -import java.io.StringReader; -import java.io.StringWriter; import java.util.*; import com.syncleus.dann.graph.ImmutableUndirectedEdge; import com.syncleus.dann.graphicalmodel.GraphicalModelNode; import com.syncleus.dann.graphicalmodel.SimpleGraphicalModelNode; +import com.thoughtworks.xstream.XStream; +import com.thoughtworks.xstream.io.xml.StaxDriver; import org.junit.Assert; import org.junit.Test; -import javax.xml.bind.JAXB; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.Marshaller; - public class TestSicknessRandomMarkovField { private static enum BooleanState @@ -63,6 +59,20 @@ public class TestSicknessRandomMarkovField private GraphicalModelNode<BooleanState> tired = new SimpleGraphicalModelNode<BooleanState>(BooleanState.FALSE); private GraphicalModelNode<BooleanState> sick = new SimpleGraphicalModelNode<BooleanState>(BooleanState.FALSE); + @Test + public void testXml() throws Exception + { + testOverall(); + + final XStream xstream = new XStream(new StaxDriver()); + final String xml = xstream.toXML(network); + Assert.assertTrue("could not serialize network!", xml != null); + final Object networkObject = xstream.fromXML(xml); + Assert.assertTrue("deserialized object type doesnt match serialized object type", networkObject instanceof MutableMarkovRandomFieldAdjacencyGraph); + Assert.assertTrue("deserialized network had the wrong number of edges", ((MutableMarkovRandomFieldAdjacencyGraph)networkObject).getEdges().size() == network.getEdges().size()); + Assert.assertTrue("deserialized network had the wrong number of nodes", ((MutableMarkovRandomFieldAdjacencyGraph)networkObject).getNodes().size() == network.getNodes().size()); + } + @Test public void testOverallRepeated() {