@Test public void canImportXml() throws JAXBException { JAXBContext context = JAXBContext.newInstance(getClass().getPackage().getName()); Unmarshaller unmarshaller = context.createUnmarshaller(); Object result = unmarshaller.unmarshal(getClass().getClassLoader().getResource("backup.xml")); assertTrue(result instanceof Snapshot); Snapshot backUp = (Snapshot) result; assertNotNull(backUp); assertThat(backUp.getPrincipals().size(), is(5)); assertThat(backUp.getMessageBoxes().size(), is(10)); assertThat(backUp.getMembers().size(), is(5)); assertThat(backUp.getMessages().size(), is(9)); Member member0 = backUp.getMembers().get(0); assertThat(member0.getFirstName(), is("Alfred")); assertThat(member0.getInbox(), is(backUp.getMessageBoxes().get(0))); assertThat(member0.getSentItems(), is(backUp.getMessageBoxes().get(1))); Member member1 = backUp.getMembers().get(1); assertThat(member1.getFirstName(), is("Ben")); assertThat(member1.getInbox(), is(backUp.getMessageBoxes().get(2))); assertThat(member1.getSentItems(), is(backUp.getMessageBoxes().get(3))); Member member2 = backUp.getMembers().get(2); assertThat(member2.getFirstName(), is("Chris")); assertThat(member2.getInbox(), is(backUp.getMessageBoxes().get(4))); assertThat(member2.getSentItems(), is(backUp.getMessageBoxes().get(5))); }