/**
   * Tests {@link
   * TriggerContextConverter#unmarshal(com.thoughtworks.xstream.io.HierarchicalStreamReader,
   * com.thoughtworks.xstream.converters.UnmarshallingContext)}. With "retriggerAction_oldData2.xml"
   * as input.
   *
   * @throws Exception if so.
   */
  @Test
  public void testUnmarshalOldData2() throws Exception {
    XStream xStream = new XStream2();
    xStream.registerConverter(new TriggerContextConverter());
    Object obj = xStream.fromXML(getClass().getResourceAsStream("retriggerAction_oldData2.xml"));
    assertTrue(obj instanceof RetriggerAction);
    RetriggerAction action = (RetriggerAction) obj;
    TriggerContext context = Whitebox.getInternalState(action, "context");
    assertNotNull(context.getEvent());
    assertEquals(
        "semctools/hudson/plugins/gerrit-trigger-plugin",
        context.getEvent().getChange().getProject());
    assertEquals("1", context.getEvent().getPatchSet().getNumber());

    assertNotNull(context.getThisBuild());
    assertEquals(6, context.getThisBuild().getBuildNumber().intValue());
    assertEquals("EXPERIMENTAL_Gerrit_Trigger_1", context.getThisBuild().getProjectId());

    assertNotNull(context.getOthers());
    assertEquals(2, context.getOthers().size());
    TriggeredItemEntity entity = context.getOthers().get(0);
    assertEquals(16, entity.getBuildNumber().intValue());
    assertEquals("EXPERIMENTAL_Gerrit_Trigger_2", entity.getProjectId());
    entity = context.getOthers().get(1);
    assertEquals(15, entity.getBuildNumber().intValue());
    assertEquals("EXPERIMENTAL_Gerrit_Trigger_3", entity.getProjectId());
  }