Beispiel #1
0
        static void Main()
        {
            CWeatherData weatherDataIn  = new CWeatherData();
            CWeatherData weatherDataOut = new CWeatherData();

            Display display = new Display(weatherDataIn, weatherDataOut);

            weatherDataIn.RegisterObserver(display, 2);
            weatherDataOut.RegisterObserver(display, 2);

            StatsDisplay statsDisplay = new StatsDisplay(weatherDataIn, weatherDataOut);

            weatherDataIn.RegisterObserver(statsDisplay, 0);
            weatherDataOut.RegisterObserver(statsDisplay, 1);

            StatsDisplay statsDisplay1 = new StatsDisplay(weatherDataIn, weatherDataOut);

            weatherDataOut.RegisterObserver(statsDisplay1, 0);

            weatherDataIn.SetMeasurements(3, 0.7, 760);
            weatherDataOut.SetMeasurements(4, 0.8, 761);

            weatherDataOut.RemoveObserver(statsDisplay);

            weatherDataIn.SetMeasurements(10, 0.8, 761);
            weatherDataOut.SetMeasurements(-10, 0.8, 761);
        }
Beispiel #2
0
        static void Main(string [] args)
        {
            var wd           = new CWeatherData();
            var display1     = new CDisplay();
            var display2     = new CDisplay();
            var statsDisplay = new CStatsDisplay();

            wd.RegisterObserver(display1, 10);
            wd.RegisterObserver(display2, 3);
            wd.RegisterObserver(statsDisplay, 4);

            wd.SetMeasurements(3, 0.7, 760);
            wd.SetMeasurements(4, 0.8, 761);

            wd.RemoveObserver(display1);
            wd.RemoveObserver(display2);

            wd.SetMeasurements(10, 0.8, 761);
            wd.SetMeasurements(-10, 0.8, 761);
        }
        public void Cant_remove_not_added_observer()
        {
            CTestingDisplay.ResetUpdateCounter();

            CWeatherData    wd       = new CWeatherData();
            CTestingDisplay display1 = new CTestingDisplay();

            display1.SetTestingValues(3, 0.7, 760);
            wd.SetMeasurements(3, 0.7, 760);

            wd.RemoveObserver(display1);
        }
        public CWeatherStationDuo()
        {
            CWeatherData  wdIn         = new CWeatherData(LocationType.INSIDE);
            CWeatherData  wdOut        = new CWeatherData(LocationType.OUTSIDE);
            CDisplay      display      = new CDisplay(wdIn, wdOut);
            CStatsDisplay statsDisplay = new CStatsDisplay(wdIn, wdOut);

            wdIn.SetMeasurements(3, 0.7, 760);
            wdOut.SetMeasurements(4, 0.8, 761);

            wdIn.RemoveObserver(statsDisplay);
            wdIn.SetMeasurements(5, 0.9, 762);
        }
Beispiel #5
0
        public CWeatherStation()
        {
            CWeatherData wd      = new CWeatherData();
            CDisplay     display = new CDisplay();

            wd.RegisterObserver(display);

            CStatsDisplay statsDisplay = new CStatsDisplay();

            wd.RegisterObserver(statsDisplay);

            wd.SetMeasurements(3, 0.7, 760);
            wd.SetMeasurements(4, 0.8, 761);

            wd.RemoveObserver(statsDisplay);

            wd.SetMeasurements(10, 0.8, 761);
            wd.SetMeasurements(-10, 0.8, 761);
        }
Beispiel #6
0
        static void Main()
        {
            CWeatherData wd = new CWeatherData();

            Display display = new Display();

            wd.RegisterObserver(display, 1);

            StatsDisplay statsDisplay = new StatsDisplay();

            wd.RegisterObserver(statsDisplay, 0);

            wd.SetMeasurements(3, 0.7, 760, 4, 60);
            wd.SetMeasurements(4, 0.8, 761, 2, 90);

            wd.RemoveObserver(display);

            wd.SetMeasurements(10, 0.7, 760, 4, 270);
            wd.SetMeasurements(-10, 0.8, 761, 8, 180);
        }