Skip to content

Instantly share code, notes, and snippets.

Created May 7, 2015 13:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/32360b384968f8734754 to your computer and use it in GitHub Desktop.
Save anonymous/32360b384968f8734754 to your computer and use it in GitHub Desktop.
package test;
import java.util.Objects;
public class Bean {
public String value = "{default}";
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
@Override
public boolean equals(Object obj) {
if (!(obj instanceof Bean))
return false;
return Objects.equals(value, ((Bean) obj).value);
}
@Override
public String toString() {
return String.valueOf(value);
}
}
package test;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.converters.javabean.JavaBeanConverter;
import com.thoughtworks.xstream.io.xml.DomDriver;
public class TestBeanConverter extends TestConverter {
@Override
public XStream createXStream() {
XStream retVal = new XStream(new DomDriver());
retVal.registerConverter(new JavaBeanConverter(retVal.getMapper()), -10);
return retVal;
}
}
package test;
import junit.framework.TestCase;
import org.junit.Test;
import com.thoughtworks.xstream.XStream;
public abstract class TestConverter extends TestCase {
public abstract XStream createXStream();
public void testBean(Bean bean) {
XStream xstr = createXStream();
String xml = xstr.toXML(bean);
Bean bean2 = (Bean) xstr.fromXML(xml);
assertEquals(bean, bean2);
}
@Test
public void testDefaultValue() {
Bean bean = new Bean();
testBean(bean);
}
@Test
public void testOtherValue() {
Bean bean = new Bean();
bean.setValue("other");
testBean(bean);
}
@Test
public void testEmptyValue() {
Bean bean = new Bean();
bean.setValue("");
testBean(bean);
}
@Test
public void testNullValue() {
Bean bean = new Bean();
bean.setValue(null);
testBean(bean);
}
}
package test;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
public class TestReflectionConverter extends TestConverter {
@Override
public XStream createXStream() {
XStream retVal = new XStream(new DomDriver());
return retVal;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment