public void Can_load_aggregate_from_xml() { var storage = new XmlEventStorage(this); var aggregate = storage.Load<SomeDomainEntityWithEvents>(Guid.Empty); // fake id aggregate.ShouldNotBeNull(); aggregate.GetChanges().Count().ShouldBeEqualTo(0, "events should be replayed, not marked as new"); aggregate.DomainEventHandlerInvoked.ShouldBeTrue("event handler for replayed event should be invoked"); }
public void can_write_aggregate_to_xml() { var storage = new XmlEventStorage(this); var aggregate = new SomeDomainEntityWithEvents(); aggregate.Apply(new SomeDomainEvent()); storage.Save(aggregate.Id, aggregate.GetChanges()); _writtenXml.ShouldNotBeNull(); _writtenXml.Length.ShouldNotBeEqualTo(0); var ev = DomainEventSerializer.Deserialize(_writtenXml.ToString()); ev.ShouldNotBeNull(); ev.ShouldBeOfType<SomeDomainEvent>(); }