/*
* 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));
}
}