Exemplo n.º 1
0
        public void FireEventWithCustomArgsOnPublisher(
            CustomEvent.EventPublisher publisher,
            CustomEvent.EventSubscriber subscriber,
            EventArgs <string> sentEventArgs)
        {
            "Establish a registered publisher".x(() =>
            {
                publisher = new CustomEvent.EventPublisher();
                this.eventBroker.Register(publisher);
            });

            "Establish a registered subscriber".x(() =>
            {
                subscriber = new CustomEvent.EventSubscriber();
                this.eventBroker.Register(subscriber);
            });

            "Establish the event args".x(() =>
                                         sentEventArgs = new EventArgs <string>("value"));

            "When firing the event".x(() =>
                                      publisher.FireEvent(sentEventArgs));

            "It should call the subscriber".x(() =>
                                              subscriber.HandledEvent
                                              .Should().BeTrue("event should be handled by subscriber"));

            "It should pass event args to the subscriber".x(() =>
                                                            subscriber.ReceivedEventArgs
                                                            .Should().BeSameAs(sentEventArgs));
        }
        public void SetupEventBroker()
        {
            "Establish an event broker".x(() =>
                                          this.eventBroker = new EventBroker());

            "Establish an registered publisher".x(() =>
            {
                this.publisher = new CustomEvent.EventPublisher();
                this.eventBroker.Register(this.publisher);
            });
        }