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