public void GivenAnAggregateThatHasChangesThenAnAggregateHasUncommittedChangesExceptionIsThrown() { var aggregate = new SerializableEventCentricAggregateRoot(); var context = new SerializableMessage(); IEnumerable <DomainEvent> events = aggregate.ApplyChanges(context, commit: false, times: 1); AggregateHasUncommittedChangesException exception = Assert.Throws <AggregateHasUncommittedChangesException>( () => aggregate.LoadFromHistory(events)); Assert.True(exception.Aggregate.IsMatch(aggregate)); }
public void GivenAnInstanceThenAllPropertiesAreSerialized() { var aggregate = new SerializableEventCentricAggregateRoot(); var context = new SerializableMessage(); IEnumerable <DomainEvent> events = aggregate.ApplyChanges(context, commit: false, times: 1); AggregateHasUncommittedChangesException original = Assert.Throws <AggregateHasUncommittedChangesException>( () => aggregate.LoadFromHistory(events)); AggregateHasUncommittedChangesException deserialized = original.Clone(); Assert.NotSame(original, deserialized); Assert.Equal(original.Aggregate, deserialized.Aggregate); }