public void ProcessManager_Recieves_Reminder_Event_Does_Not_Publishe_SellEvent()
        {
            //arrange
            var priceUpdatedMessage = new PriceUpdatedEvent(99);

            processManager.Handle(priceUpdatedMessage);
            var RemoveFromLowWindow = new RemoveFromLowWindow(99);

            bus.ClearEvents();

            //act
            processManager.Handle(RemoveFromLowWindow);

            // assert
            Assert.That(bus.PublishedEvents.Count, Is.EqualTo(0));
        }
        public void ProcessManager_Recieves_Reminder_Event_Publishes_SellEvent()
        {
            //arrange
            var priceUpdatedMessage = new PriceUpdatedEvent(80);

            processManager.Handle(priceUpdatedMessage);
            var RemoveFromLowWindow = new RemoveFromLowWindow(80);

            bus.ClearEvents();

            //act
            processManager.Handle(RemoveFromLowWindow);

            // assert
            Assert.That(bus.PublishedEvents.Count, Is.EqualTo(1));
            var sellEvent =
                (SellEvent)
                bus.PublishedEvents.SingleOrDefault(evt => evt.GetType() == typeof(SellEvent));

            Assert.That(sellEvent, Is.Not.Null);
        }