1 package com.thoughtworks.acceptance;
2
3 import com.thoughtworks.xstream.XStream;
4 import junit.framework.TestCase;
5
6 import java.lang.reflect.Array;
7
8 public abstract class AbstractAcceptanceTest extends TestCase {
9
10 protected XStream xstream = new XStream();
11
12 protected void assertBothWays(Object root, String xml) {
13 String resultXml = xstream.toXML(root);
14 assertEquals(xml, resultXml);
15 Object resultRoot = xstream.fromXML(resultXml);
16 compareObjects(root, resultRoot);
17 }
18
19 private void compareObjects(Object expected, Object actual) {
20 if (actual.getClass().isArray()) {
21 compareArrays(expected, actual);
22 } else {
23 assertEquals(expected.getClass(), actual.getClass());
24 assertEquals(expected, actual);
25 }
26 }
27
28 private void compareArrays(Object expected, Object actual) {
29 assertEquals(Array.getLength(expected), Array.getLength(actual));
30 for (int i = 0; i < Array.getLength(expected); i++) {
31 assertEquals(Array.get(expected, i), Array.get(actual, i));
32 }
33 }
34 }
This page was automatically generated by Maven