public void PozivMetodeDižiAlarmObavještavaPredbilježeneSlušateljeODogađaju()
        {
            Assert.IsTrue(typeof(GeneratorAlarma).GetEvent("Alarm") != null);

            GeneratorAlarma generatorAlarma = new GeneratorAlarma();
            Slušatelj       slušatelj       = new Slušatelj();

            EventInfo eInfo = generatorAlarma.GetType().GetEvent("Alarm");

            Assert.IsNotNull(eInfo);
            if (eInfo == null)
            {
                return;
            }

            Type     handlerType = eInfo.EventHandlerType;
            Delegate del         = Delegate.CreateDelegate(handlerType, slušatelj, "ObradaDogađaja", false);

            eInfo.AddEventHandler(generatorAlarma, del);

            Assert.IsFalse(slušatelj.DogađajSeDogodio);

            generatorAlarma.DižiAlarm("mjesto", 3, "potres");

            Assert.IsTrue(slušatelj.DogađajSeDogodio);
        }
        public void PozivMetodeDižiAlarmProsljeđujePredbilježenimSlušateljimaVrijemeAlarma()
        {
            Assert.IsTrue(typeof(GeneratorAlarma).GetEvent("Alarm") != null);

            GeneratorAlarma generatorAlarma = new GeneratorAlarma();
            Slušatelj       slušatelj       = new Slušatelj();

            EventInfo eInfo = generatorAlarma.GetType().GetEvent("Alarm");

            Assert.IsNotNull(eInfo);
            if (eInfo == null)
            {
                return;
            }

            Type     handlerType = eInfo.EventHandlerType;
            Delegate del         = Delegate.CreateDelegate(handlerType, slušatelj, "ObradaDogađaja", false);

            eInfo.AddEventHandler(generatorAlarma, del);

            DateTime trenutakPrije = DateTime.Now;

            generatorAlarma.DižiAlarm("mjesto", 3, "potres");

            Assert.IsTrue(slušatelj.Vrijeme >= trenutakPrije && slušatelj.Vrijeme <= DateTime.Now);
        }
        public void PozivMetodeDižiAlarmProsljeđujePredbilježenimSlušateljimaRazinuAlarma()
        {
            Assert.IsTrue(typeof(GeneratorAlarma).GetEvent("Alarm") != null);

            GeneratorAlarma generatorAlarma = new GeneratorAlarma();
            Slušatelj       slušatelj       = new Slušatelj();

            EventInfo eInfo = generatorAlarma.GetType().GetEvent("Alarm");

            Assert.IsNotNull(eInfo);
            if (eInfo == null)
            {
                return;
            }

            Type     handlerType = eInfo.EventHandlerType;
            Delegate del         = Delegate.CreateDelegate(handlerType, slušatelj, "ObradaDogađaja", false);

            eInfo.AddEventHandler(generatorAlarma, del);

            generatorAlarma.DižiAlarm("mjesto", 3, "potres");

            Assert.AreEqual(3, slušatelj.Razina);
        }