public void Publish_2Params_NewNotificationTriggered()
        {
            var publisher = new NotificationPublisher();
            var suscriber = Substitute.For<INotificationProcessor>();
            publisher.NewNotification += suscriber.OnNewNotification;

            publisher.Publish("some message", Severity.Trace);

            suscriber.Received(1).OnNewNotification(Arg.Any<Object>(), Arg.Any<NewNotificationEventArgs>());
        }
        public void Publish_3Params_CheckNotification()
        {
            var publisher = new NotificationPublisher();
            var suscriber = new FakeSubscriber();
            publisher.NewNotification += suscriber.OnNewNotification;
            var expectedMessage = "Some message";
            var expectedSeverity = Severity.Gameplay;
            var expectedDetails = "Some details";

            publisher.Publish(expectedMessage, expectedSeverity, expectedDetails);

            Assert.That(suscriber.Notification.Message.Equals(expectedMessage));
            Assert.That(suscriber.Notification.Severity.Equals(expectedSeverity));
            Assert.That(suscriber.Notification.Details.Equals(expectedDetails));
        }