public void Delay_TwoTriggersFound_ShouldReturnTriggerAfterDelayAndDieWithinSetTime()
        {
            var triggerArray = new IPlugInAPI.strTrigActInfo[2] {
                new IPlugInAPI.strTrigActInfo(), new IPlugInAPI.strTrigActInfo()
            };

            _callBack.GetTriggers(Arg.Any <string>()).Returns(triggerArray);
            var sut = new GetTriggersFromHomeSeerHandler(_iniSettings, _logging, _callBack, 1);
            List <IPlugInAPI.strTrigActInfo> expectedData = null;

            sut.TriggerDataReady += (sender, arg) =>
            {
                expectedData = arg.TriggersInPlugin;
            };

            sut.StartWork();
            Thread.Sleep(600);
            _callBack.Received(0).GetTriggers(Arg.Any <string>());
            sut.DelayFetching(2);
            sut.IsRunning.ShouldBeTrue();
            Thread.Sleep(1600);
            _callBack.Received(0).GetTriggers(Arg.Any <string>());
            sut.IsRunning.ShouldBeTrue();
            Thread.Sleep(600);

            _callBack.Received(1).GetTriggers(Arg.Any <string>());
            sut.IsRunning.ShouldBeFalse();
            expectedData.ShouldNotBeEmpty();
            expectedData.Count.ShouldEqual(2);
        }
        public void StartWork_NoTriggersFound_ShouldNotTriggerButDieWithinSetTime()
        {
            _callBack.GetTriggers(Arg.Any <string>()).Returns(l => null);
            var sut = new GetTriggersFromHomeSeerHandler(_iniSettings, _logging, _callBack, 1);

            sut.StartWork();

            Thread.Sleep(1600);
            _callBack.Received(1).GetTriggers(Arg.Any <string>());
            sut.IsRunning.ShouldBeFalse();
        }