]> git.argeo.org Git - gpl/argeo-slc.git/blob - org.argeo.slc.core/src/test/java/org/argeo/slc/core/test/tree/TreeTestResultCollectionCastorTest.java
Add TreeTestResultCollection Castor mapping
[gpl/argeo-slc.git] / org.argeo.slc.core / src / test / java / org / argeo / slc / core / test / tree / TreeTestResultCollectionCastorTest.java
1 package org.argeo.slc.core.test.tree;
2
3 import static org.argeo.slc.unit.UnitUtils.assertDateSec;
4 import static org.argeo.slc.unit.test.tree.TreeTestResultTestUtils.createCompleteTreeTestResult;
5 import static org.argeo.slc.unit.test.tree.TreeTestResultTestUtils.createSimpleResultPartRequest;
6
7 import org.apache.commons.logging.Log;
8 import org.apache.commons.logging.LogFactory;
9 import org.argeo.slc.msg.test.tree.CloseTreeTestResultRequest;
10 import org.argeo.slc.msg.test.tree.CreateTreeTestResultRequest;
11 import org.argeo.slc.msg.test.tree.ResultPartRequest;
12 import org.argeo.slc.unit.AbstractSpringTestCase;
13 import org.argeo.slc.unit.UnitXmlUtils;
14 import org.argeo.slc.unit.test.tree.UnitTestTreeUtil;
15 import org.springframework.oxm.Marshaller;
16 import org.springframework.oxm.Unmarshaller;
17 import org.springframework.xml.transform.StringResult;
18 import org.springframework.xml.transform.StringSource;
19 import org.springframework.xml.validation.XmlValidator;
20
21 public class TreeTestResultCollectionCastorTest extends AbstractSpringTestCase {
22 private Log log = LogFactory.getLog(getClass());
23
24 private Marshaller marshaller;
25 private Unmarshaller unmarshaller;
26
27 @Override
28 public void setUp() {
29 marshaller = getBean(Marshaller.class);
30 unmarshaller = getBean(Unmarshaller.class);
31 }
32
33 public void testMarshUnmarsh() throws Exception {
34 TreeTestResult ttr = createCompleteTreeTestResult();
35 TreeTestResult ttr2 = createCompleteTreeTestResult();
36
37 TreeTestResultCollection ttrc = new TreeTestResultCollection();
38 ttrc.setId("testCollection");
39 ttrc.getResults().add(ttr);
40 ttrc.getResults().add(ttr2);
41
42 StringResult xml = marshallAndValidate(ttrc);
43
44 TreeTestResultCollection ttrcUnm = (TreeTestResultCollection) unmarshaller
45 .unmarshal(new StringSource(xml.toString()));
46
47 assertEquals(ttrc.getId(), ttrcUnm.getId());
48 assertEquals(ttrc.getResults().size(), ttrcUnm.getResults().size());
49 for (TreeTestResult ttrT : ttrc.getResults()) {
50 if (ttrT.getUuid().equals(ttr.getUuid()))
51 UnitTestTreeUtil.assertTreeTestResult(ttr, ttrT);
52 else
53 UnitTestTreeUtil.assertTreeTestResult(ttr2, ttrT);
54 }
55 }
56
57 private StringResult marshallAndValidate(Object obj) throws Exception {
58 StringResult xml = new StringResult();
59 marshaller.marshal(obj, xml);
60
61 log.info("Marshalled ResultPart Request: " + xml);
62
63 UnitXmlUtils.assertXmlValidation(getBean(XmlValidator.class),
64 new StringSource(xml.toString()));
65 return xml;
66 }
67 }