@Test public void canReadEventFromDifferentSerializableVersions() throws Exception { NonSerializableEvent.SerializableEventV1 e1 = new NonSerializableEvent.SerializableEventV1( new NonSerializableEvent(Name.valueOf("1"), new Date(2L))); NonSerializableEvent.SerializableEventV2 e2 = new NonSerializableEvent.SerializableEventV2( new NonSerializableEvent(Name.valueOf("2"), new Date(2L))); eventStore.write(e1); eventStore.write(new EmptyEvent()); eventStore.write(e2); eventStore.stop(); eventStore = configurer.configure(); Iterator<Object> events = eventStore.readEvents(EventQuery.select(NonSerializableEvent.class)).iterator(); NonSerializableEvent nse1 = (NonSerializableEvent) events.next(); NonSerializableEvent nse2 = (NonSerializableEvent) events.next(); assertFalse(events.hasNext()); assertEquals("1", nse1.getName().toString()); assertEquals(0, nse1.getDate().getTime()); assertEquals("2", nse2.getName().toString()); assertEquals(2, nse2.getDate().getTime()); assertEquals( 3, size( eventStore .readEvents(EventQuery.select(NonSerializableEvent.class).and(EmptyEvent.class)) .iterator())); }
@After public void teardown() { eventStore.stop(); for (String fileName : configurer.getFiles()) { delete(fileName); } }