/** * Tests {@link TriggerContextConverter#marshal(Object, * com.thoughtworks.xstream.io.HierarchicalStreamWriter, * com.thoughtworks.xstream.converters.MarshallingContext)}. With an empty list of "others". * * @throws Exception if so. */ @Test public void testMarshalNoOthers() throws Exception { TriggeredItemEntity entity = new TriggeredItemEntity(100, "projectX"); PatchsetCreated event = Setup.createPatchsetCreated(); TriggerContext context = new TriggerContext(event); context.setThisBuild(entity); context.setOthers(new LinkedList<TriggeredItemEntity>()); TestMarshalClass t = new TestMarshalClass(context, "Bobby", new TestMarshalClass(context, "SomeoneElse")); XStream xStream = new XStream2(); xStream.registerConverter(new TriggerContextConverter()); String xml = xStream.toXML(t); TestMarshalClass readT = (TestMarshalClass) xStream.fromXML(xml); assertNotNull(readT.getEntity()); assertNotNull(readT.getEntity().getEvent()); assertNotNull(readT.getEntity().getThisBuild()); assertEquals("project", readT.getEntity().getEvent().getChange().getProject()); assertEquals(100, readT.getEntity().getThisBuild().getBuildNumber().intValue()); assertEquals("projectX", readT.getEntity().getThisBuild().getProjectId()); assertSame(readT.getEntity(), readT.getTestClass().getEntity()); }