public void WhenDomainActionPerformed_ThenObjectHasEvents() { var root = new TestRoot(); root.Publish(5); Assert.True(root.GetEvents().Any()); root.AcceptEvents(); Assert.False(root.GetEvents().Any()); }
public void WhenDomainActionPerformed_ThenRootChangesStateThroughEvent() { var root = new TestRoot(); root.Publish(5); Assert.Equal(5, root.LatestVersion); Assert.True(root.GetEvents().Any()); Assert.True(root.GetEvents().OfType <TestPublished>().Any(x => x.Version == 5)); root.AcceptEvents(); Assert.False(root.GetEvents().Any()); }
public void WhenLoadingFromEvent_ThenRootChangesState() { var events = new DomainEvent[] { new TestPublished { Version = 5 } }; var root = new TestRoot(events); Assert.Equal(5, root.LatestVersion); Assert.False(root.GetEvents().Any()); // This should be no-op now. root.AcceptEvents(); Assert.False(root.GetEvents().Any()); }