/* * Copyright (C) 2004 Joe Walnes. * Copyright (C) 2006, 2007 XStream Committers. * All rights reserved. * * The software in this package is published under the terms of the BSD * style license a copy of which has been included with this distribution in * the LICENSE.txt file. * * Created on 07. May 2004 by Joe Walnes */ package com.thoughtworks.acceptance; import com.thoughtworks.xstream.XStream; import java.util.ArrayList; import java.util.List; public class IDDuplicateReferenceTest extends AbstractDuplicateReferenceTest { // tests inherited from superclass protected void setUp() throws Exception { super.setUp(); xstream.setMode(XStream.ID_REFERENCES); } public void testXmlContainsReferenceIds() { Thing sameThing = new Thing("hello"); Thing anotherThing = new Thing("hello"); List list = new ArrayList(); list.add(sameThing); list.add(sameThing); list.add(anotherThing); String expected = "" + "<list id=\"1\">\n" + " <thing id=\"2\">\n" + " <field>hello</field>\n" + " </thing>\n" + " <thing reference=\"2\"/>\n" + " <thing id=\"3\">\n" + " <field>hello</field>\n" + " </thing>\n" + "</list>"; assertEquals(expected, xstream.toXML(list)); } }