public void Applying_an_event_that_is_already_owned_by_another_source_should_cause_an_exception() { var theEvent = new HandledEvent(); theEvent.OverrideAggregateRootId(Guid.NewGuid()); var theAggregate = new MyAggregateRoot(); Action act = () => theAggregate.ApplyEvent(theEvent); act.ShouldThrow <InvalidOperationException>(); }
public void Initiazling_from_wrong_history_with_wrong_sequence_should_throw_exception() { var theAggregate = new MyAggregateRoot(); long wrongSequence = 3; var event1 = new HandledEvent(Guid.NewGuid(), theAggregate.EventSourceId, wrongSequence, DateTime.UtcNow); IEnumerable <SourcedEvent> history = new[] { event1 }; Action act = () => theAggregate.InitializeFromHistory(history); act.ShouldThrow <InvalidOperationException>().And.Message.Should().Contain("sequence"); }
public void Initiazling_from_history_with_correct_sequence_should_not_throw_exception() { var theAggregate = new MyAggregateRoot(); var event1 = new HandledEvent(Guid.NewGuid(), theAggregate.EventSourceId, 1, DateTime.UtcNow); var event2 = new HandledEvent(Guid.NewGuid(), theAggregate.EventSourceId, 2, DateTime.UtcNow); var event3 = new HandledEvent(Guid.NewGuid(), theAggregate.EventSourceId, 3, DateTime.UtcNow); var event4 = new HandledEvent(Guid.NewGuid(), theAggregate.EventSourceId, 4, DateTime.UtcNow); var event5 = new HandledEvent(Guid.NewGuid(), theAggregate.EventSourceId, 5, DateTime.UtcNow); IEnumerable <SourcedEvent> history = new[] { event1, event2, event3, event4, event5 }; theAggregate.InitializeFromHistory(history); }
public void Applying_an_event_to_an_agg_root_with_history_should_call_the_event_handler_only_once() { var theAggregate = new MyAggregateRoot(); var event1 = new HandledEvent(Guid.NewGuid(), theAggregate.EventSourceId, 1, DateTime.UtcNow); var event2 = new HandledEvent(Guid.NewGuid(), theAggregate.EventSourceId, 2, DateTime.UtcNow); var event3 = new HandledEvent(Guid.NewGuid(), theAggregate.EventSourceId, 3, DateTime.UtcNow); var event4 = new HandledEvent(Guid.NewGuid(), theAggregate.EventSourceId, 4, DateTime.UtcNow); var event5 = new HandledEvent(Guid.NewGuid(), theAggregate.EventSourceId, 5, DateTime.UtcNow); IEnumerable <SourcedEvent> history = new[] { event1, event2, event3, event4, event5 }; theAggregate.InitializeFromHistory(history); var eventHandlerCountAfterInitialization = theAggregate.FooEventHandlerInvokeCount; theAggregate.MethodThatCausesAnEventThatHasAHandler(); theAggregate.FooEventHandlerInvokeCount.Should().Be(eventHandlerCountAfterInitialization + 1); }
public void MethodThatCausesAnEventThatHasAHandler() { var e = new HandledEvent(); ApplyEvent(e); }
public void Initiazling_from_wrong_history_with_wrong_sequence_should_throw_exception2() { var theAggregate = new MyAggregateRoot(); long wrongSequence = 8; var event1 = new HandledEvent(Guid.NewGuid(), theAggregate.EventSourceId, 0, DateTime.UtcNow); var event2 = new HandledEvent(Guid.NewGuid(), theAggregate.EventSourceId, 1, DateTime.UtcNow); var event3 = new HandledEvent(Guid.NewGuid(), theAggregate.EventSourceId, wrongSequence, DateTime.UtcNow); IEnumerable<SourcedEvent> history = new[] { event1, event2, event3 }; Action act = () => theAggregate.InitializeFromHistory(history); act.ShouldThrow<InvalidOperationException>().And.Message.Should().Contain("sequence"); }
public void Initiazling_from_history_with_correct_sequence_should_not_throw_exception() { var theAggregate = new MyAggregateRoot(); var event1 = new HandledEvent(Guid.NewGuid(), theAggregate.EventSourceId, 1, DateTime.UtcNow); var event2 = new HandledEvent(Guid.NewGuid(), theAggregate.EventSourceId, 2, DateTime.UtcNow); var event3 = new HandledEvent(Guid.NewGuid(), theAggregate.EventSourceId, 3, DateTime.UtcNow); var event4 = new HandledEvent(Guid.NewGuid(), theAggregate.EventSourceId, 4, DateTime.UtcNow); var event5 = new HandledEvent(Guid.NewGuid(), theAggregate.EventSourceId, 5, DateTime.UtcNow); IEnumerable<SourcedEvent> history = new[] { event1, event2, event3, event4, event5 }; theAggregate.InitializeFromHistory(history); }
public void Applying_an_event_that_is_already_owned_by_another_source_should_cause_an_exception() { var theEvent = new HandledEvent(); theEvent.OverrideAggregateRootId(Guid.NewGuid()); var theAggregate = new MyAggregateRoot(); Action act = () => theAggregate.ApplyEvent(theEvent); act.ShouldThrow<InvalidOperationException>(); }
public void Applying_an_event_to_an_agg_root_with_history_should_call_the_event_handler_only_once() { var theAggregate = new MyAggregateRoot(); var event1 = new HandledEvent(Guid.NewGuid(), theAggregate.EventSourceId, 1, DateTime.UtcNow); var event2 = new HandledEvent(Guid.NewGuid(), theAggregate.EventSourceId, 2, DateTime.UtcNow); var event3 = new HandledEvent(Guid.NewGuid(), theAggregate.EventSourceId, 3, DateTime.UtcNow); var event4 = new HandledEvent(Guid.NewGuid(), theAggregate.EventSourceId, 4, DateTime.UtcNow); var event5 = new HandledEvent(Guid.NewGuid(), theAggregate.EventSourceId, 5, DateTime.UtcNow); IEnumerable<SourcedEvent> history = new[] { event1, event2, event3, event4, event5 }; theAggregate.InitializeFromHistory(history); var eventHandlerCountAfterInitialization = theAggregate.FooEventHandlerInvokeCount; theAggregate.MethodThatCausesAnEventThatHasAHandler(); theAggregate.FooEventHandlerInvokeCount.Should().Be(eventHandlerCountAfterInitialization + 1); }