public void TestStatisticsDisplay()
 {
     weatherData.SetMeasurements(80, 63, 31.2f);
     weatherData.SetMeasurements(81, 63, 29.92f);
     weatherData.SetMeasurements(84, 63, 29.92f);
     if (statisticsDisplay.NumberOfReadings == 3)
     {
         Assert.AreEqual("Avg/Max/Min temperature = 81.67F/84F/80F",
                         statisticsDisplay.Display());
     }
     if (statisticsDisplay.NumberOfReadings == 8)
     {
         Assert.AreEqual("Avg/Max/Min temperature = 81.00F/84F/80F",
                         statisticsDisplay.Display());
     }
 }
 public void TestStatisticsDisplay()
 {
     weatherData.SetMeasurements(80, 63, 31.2f);
     weatherData.SetMeasurements(81, 63, 29.92f);
     weatherData.SetMeasurements(84, 63, 29.92f);
     Assert.AreEqual("Avg/Max/Min temperature = 81.67F/84F/80F",
                     statisticsDisplay.Display());
 }
Example #3
0
        public static void ShowDemo()
        {
            Console.WriteLine("天气信息的 观察者模式 演示");

            // 首先创建一个 主题对象.
            WeatherData wd = new WeatherData();


            // 创建2个不同类型的  观察者.
            StatisticsDisplay o1 = new StatisticsDisplay(wd);
            ForcastDisplay    o2 = new ForcastDisplay(wd);


            // 数据未变化前, 先显示一次.
            Console.WriteLine(o1.Display());
            Console.WriteLine(o2.Display());

            // 主题对象数据开始变化.
            wd.SetMeasurements(50, 60, 70);

            // 数据变化, 显示一次.  核对数据变化是否成功通知观察者了.
            Console.WriteLine(o1.Display());
            Console.WriteLine(o2.Display());

            // 主题对象数据再次变化.
            wd.SetMeasurements(60, 70, 80);

            // 数据变化, 显示一次.  核对数据变化是否成功通知观察者了.
            Console.WriteLine(o1.Display());
            Console.WriteLine(o2.Display());


            // 主题对象数据再次变化.
            wd.SetMeasurements(40, 50, 60);

            // 数据变化, 显示一次.  核对数据变化是否成功通知观察者了.
            Console.WriteLine(o1.Display());
            Console.WriteLine(o2.Display());
        }
Example #4
0
        public static void ShowDemo()
        {
            Console.WriteLine("天气信息的 观察者模式 演示");

            // 首先创建一个 主题对象.
            WeatherData wd = new WeatherData();

            // 创建2个不同类型的  观察者.
            StatisticsDisplay o1 = new StatisticsDisplay(wd);
            ForcastDisplay o2 = new ForcastDisplay(wd);

            // 数据未变化前, 先显示一次.
            Console.WriteLine(o1.Display());
            Console.WriteLine(o2.Display());

            // 主题对象数据开始变化.
            wd.SetMeasurements(50, 60, 70);

            // 数据变化, 显示一次.  核对数据变化是否成功通知观察者了.
            Console.WriteLine(o1.Display());
            Console.WriteLine(o2.Display());

            // 主题对象数据再次变化.
            wd.SetMeasurements(60, 70, 80);

            // 数据变化, 显示一次.  核对数据变化是否成功通知观察者了.
            Console.WriteLine(o1.Display());
            Console.WriteLine(o2.Display());

            // 主题对象数据再次变化.
            wd.SetMeasurements(40, 50, 60);

            // 数据变化, 显示一次.  核对数据变化是否成功通知观察者了.
            Console.WriteLine(o1.Display());
            Console.WriteLine(o2.Display());
        }