Ejemplo n.º 1
0
        public Form1()
        {
            InitializeComponent();

            //Instantiate sub+obs
            ws = new WeatherSubject();
            tObs = new TemperatureObserver(lbTemp, ws);
            aObs = new AverageObserver(lbAverages, ws);
            fObs = new ForeCastObserver(lbForecast, ws);
        }
Ejemplo n.º 2
0
        public void ForecastObs_UpdateValues_ReturnsExpected()
        {
            //Create needed objects
            ListBox lb = new ListBox();
            WeatherSubject ws = new WeatherSubject();
            ForeCastObserver fcObs = new ForeCastObserver(lb,ws);

            //Update tobs with some values
            fcObs.Update(1, 1, 1);

            //Just test on temperature, for full code coverage id need:
            //~3 tests to cover each branch of temperature-related strings
            //*3 for the amount of forecast options (temp,humid,baro)
            string expected = "Nippy";
            string actual = fcObs.Temp;

            Assert.AreEqual(expected, actual);
        }
Ejemplo n.º 3
0
        public void ObserverList_AddObserver_ReturnsExpected()
        {
            //Create needed objects
            ListBox lb = new ListBox();
            WeatherSubject ws = new WeatherSubject();
            List<IWeatherObserver> obList = new List<IWeatherObserver>();

            //Make 2 observers, do not manually add these
            //Their ctor adds them to the passed subject
            ForeCastObserver fcObs1 = new ForeCastObserver(lb, ws);
            ForeCastObserver fcObs2 = new ForeCastObserver(lb, ws);

            //Expected size of list
            int expected = 2;
            int actual = ws.ObsList.Count;

            //Check observer was added to observer list properly
            Assert.AreEqual(expected, actual);
        }
Ejemplo n.º 4
0
        public void ObserverList_RemoveObserver_ReturnsExpected()
        {
            //Create needed objects
            ListBox lb = new ListBox();
            WeatherSubject ws = new WeatherSubject();
            List<IWeatherObserver> obList = new List<IWeatherObserver>();

            //Make 2 observers, do not manually add these
            //Their ctor adds them to the passed subject
            ForeCastObserver fcObs1 = new ForeCastObserver(lb, ws);
            ForeCastObserver fcObs2 = new ForeCastObserver(lb, ws);

            //Remove one from the list, decoupling the observer
            //this makes it essentially inactive
            ws.RemoveObserver(fcObs2);

            //Expected size of list
            int expected = 1;
            int actual = ws.ObsList.Count;

            //Check observer was added to observer list properly
            Assert.AreEqual(expected, actual);
        }