public void Handle_should_publish_new_StockItemInStockChanged_event() { var stockItemSetOutOfStock = stockItem.SetOutOfStock(now, user); IDomainEvent raisedEvent = null; domainEventService.RaiseDelegate = @event => raisedEvent = @event; publishStockItemInStockChangedOnOutOfStock.Handle(stockItemSetOutOfStock); var stockItemInStockChanged = raisedEvent as StockItemInStockChanged; stockItemInStockChanged.ShouldNotBeNull(); stockItemInStockChanged.SizeName.ShouldEqual("small"); stockItemInStockChanged.ProductName.ShouldEqual("widget"); stockItemInStockChanged.IsInStock.ShouldBeFalse(); }