public void GiveEventsFromASingleAggregateVersionThenAnInstanceIsCreated() { const int ExpectedCount = 2; var aggregate = new SerializableAggregateRoot(); var context = new SerializableMessage(); var first = new SerializableDomainEvent <SerializableAggregateRoot>(context, aggregate); var second = new SerializableDomainEvent <SerializableAggregateRoot>(context, aggregate); var unit = new AtomicUnit(new[] { first, second }); Assert.Equal(ExpectedCount, unit.Events.Count()); Assert.Contains(first, unit.Events); Assert.Contains(second, unit.Events); }
public void GivenAnInstanceThenAllPropertiesAreSerialized() { var aggregate = new SerializableAggregateRoot(); var context = new SerializableMessage(); SerializableDomainEvent <SerializableAggregateRoot>[] events = new[] { new SerializableDomainEvent <SerializableAggregateRoot>(context, aggregate), }; var original = new AtomicUnit(events); AtomicUnit deserialized = original.Clone(); Assert.Equal(original.Id, deserialized.Id); Assert.Equal(original.Events, deserialized.Events); Assert.NotSame(original, deserialized); }