コード例 #1
0
        public void Test_verify_unsubscribe_called()
        {
            var name = "Test Subsciber";

            _mockWeatherChannel.Setup(t => t.Subscribe(name, It.IsAny <EventHandler <WeatherInfoEventArgs> >())).Verifiable();
            _mockWeatherChannel.Setup(t => t.UnSubscribe(name, It.IsAny <EventHandler <WeatherInfoEventArgs> >())).Verifiable();
            var subscribe = new WeatherSubscriber(name, _mockWeatherChannel.Object);

            subscribe.UnSubscribe();

            _mockWeatherChannel.Verify();
        }
コード例 #2
0
        static async Task Main(string[] args)
        {
            do
            {
                IWeatherChannel  weatherChannel = new WeatherChannel();
                var              subscriber1    = new WeatherSubscriber("Subscriber 1", weatherChannel);
                var              subscriber2    = new WeatherSubscriber("Subscriber 2", weatherChannel);
                WeatherPublisher publisher      = new WeatherPublisher(weatherChannel);

                await publisher.PublishDataAsync();

                subscriber1.UnSubscribe();

                var subscriber3 = new WeatherSubscriber("Subscriber 3", weatherChannel);

                await publisher.PublishDataAsync();

                subscriber2.UnSubscribe();
                subscriber3.UnSubscribe();

                Console.WriteLine("Do you want to continue (Y/N)? ");
            } while (Console.ReadLine().ToUpper() == "Y");
        }