From 1cc1dad4972399ea2feb6ff98ba28f4e72401227 Mon Sep 17 00:00:00 2001 From: Jeffrey Phillips Freeman <jeffrey.freeman@syncleus.com> Date: Sun, 23 Mar 2014 02:09:17 -0400 Subject: [PATCH] Added back the JAXB unit tests removed in the last commit in XStream form. Change-Id: Icb46a15f510b6f602ffb74e30adf30b8d36a7cd2 --- pom.xml | 11 ++++++++-- .../bayesian/TestSicknessBayesianNetwork.java | 18 +++++++++++++-- .../TestSicknessRandomMarkovField.java | 22 ++++++++++++++----- 3 files changed, 41 insertions(+), 10 deletions(-) diff --git a/pom.xml b/pom.xml index b104ee5f..078a09e1 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 cd7720c8..dce39859 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 73810bef..7002555d 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() { -- GitLab