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

📄 abstractcircularreferencetest.java

📁 xstream是一个把java object序列化成xml文件的开源库,轻便好用
💻 JAVA
字号:
package com.thoughtworks.acceptance;public abstract class AbstractCircularReferenceTest extends AbstractAcceptanceTest {    protected void setUp() throws Exception {        super.setUp();        xstream.alias("person", Person.class);    }    public static class Person {        public String firstname;        public Person likes;        public Person loathes;        public Person() {        }        public Person(String name) {            this.firstname = name;        }    }    public void testCircularReference() {        Person bob = new Person("bob");        Person jane = new Person("jane");        bob.likes = jane;        jane.likes = bob;        String xml = xstream.toXML(bob);        Person bobOut = (Person) xstream.fromXML(xml);        assertEquals("bob", bobOut.firstname);        Person janeOut = bobOut.likes;        assertEquals("jane", janeOut.firstname);        assertSame(bobOut.likes, janeOut);        assertSame(bobOut, janeOut.likes);    }    public void testCircularReferenceToSelf() {        Person bob = new Person("bob");        bob.likes = bob;        String xml = xstream.toXML(bob);        Person bobOut = (Person) xstream.fromXML(xml);        assertEquals("bob", bobOut.firstname);        assertSame(bobOut, bobOut.likes);    }    public void testDeepCircularReferences() {        Person bob = new Person("bob");        Person jane = new Person("jane");        Person ann = new Person("ann");        Person poo = new Person("poo");        bob.likes = jane;        bob.loathes = ann;        ann.likes = jane;        ann.loathes = poo;        poo.likes = jane;        poo.loathes = ann;        jane.likes = jane;        jane.loathes = bob;        String xml = xstream.toXML(bob);        Person bobOut = (Person) xstream.fromXML(xml);        Person janeOut = bobOut.likes;        Person annOut = bobOut.loathes;        Person pooOut = annOut.loathes;        assertEquals("bob", bobOut.firstname);        assertEquals("jane", janeOut.firstname);        assertEquals("ann", annOut.firstname);        assertEquals("poo", pooOut.firstname);        assertSame(janeOut, bobOut.likes);        assertSame(annOut, bobOut.loathes);        assertSame(janeOut, annOut.likes);        assertSame(pooOut, annOut.loathes);        assertSame(janeOut, pooOut.likes);        assertSame(annOut, pooOut.loathes);        assertSame(janeOut, janeOut.likes);        assertSame(bobOut, janeOut.loathes);    }}

⌨️ 快捷键说明

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