⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 abstractacceptancetest.java

📁 xstream是一个把java object序列化成xml文件的开源库,轻便好用
💻 JAVA
字号:
package com.thoughtworks.acceptance;import com.thoughtworks.xstream.XStream;import com.thoughtworks.xstream.io.HierarchicalStreamDriver;import com.thoughtworks.xstream.io.xml.XppDriver;import junit.framework.TestCase;import java.lang.reflect.Array;public abstract class AbstractAcceptanceTest extends TestCase {    protected transient XStream xstream = new XStream(createDriver());    protected HierarchicalStreamDriver createDriver() {        // if the system property is set, use it to load the driver        String driver = null;        try {            driver = System.getProperty("xstream.driver");            if (driver != null) {                System.out.println("Using driver: " + driver);                Class type = Class.forName(driver);                return (HierarchicalStreamDriver) type.newInstance();            }        }        catch (Exception e) {            throw new RuntimeException("Could not load driver: " + driver);        }        return new XppDriver();    }    protected Object assertBothWays(Object root, String xml) {        String resultXml = toXML(root);        assertEquals(xml, resultXml);        Object resultRoot = xstream.fromXML(resultXml);        assertObjectsEqual(root, resultRoot);        return resultRoot;    }    /**     * Allow derived classes to decide how to turn the object into XML text     */    protected String toXML(Object root) {        return xstream.toXML(root);    }    /**     * More descriptive version of assertEquals     */     protected void assertObjectsEqual(Object expected, Object actual) {        if (expected == null) {            assertNull(actual);        } else {            assertNotNull("Should not be null", actual);            if (actual.getClass().isArray()) {                assertArrayEquals(expected, actual);            } else {//                assertEquals(expected.getClass(), actual.getClass());                if (!expected.equals(actual)) {                    assertEquals("Object deserialization failed",                            "DESERIALIZED OBJECT\n" + xstream.toXML(expected),                            "DESERIALIZED OBJECT\n" + xstream.toXML(actual));                }            }        }    }    protected void assertArrayEquals(Object expected, Object actual) {        assertEquals(Array.getLength(expected), Array.getLength(actual));        for (int i = 0; i < Array.getLength(expected); i++) {            assertEquals(Array.get(expected, i), Array.get(actual, i));        }    }    protected void assertByteArrayEquals(byte expected[], byte actual[]) {        assertEquals(dumpBytes(expected), dumpBytes(actual));    }    private String dumpBytes(byte bytes[]) {        StringBuffer result = new StringBuffer();        for (int i = 0; i < bytes.length; i++) {            result.append(bytes[i]).append(' ');            if (bytes[i] < 100) result.append(' ');            if (bytes[i] < 10) result.append(' ');            if (bytes[i] >= 0) result.append(' ');            if (i % 16 == 15) result.append('\n');        }        return result.toString();    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -