public void ProcessesStore_GetAll_ShouldReturnEmptyCollection()
        {
            var testProcs = new IProcessModel[] { new ProcessModel() };

            ProcessRepo.Setup(r => r.GetAll()).Returns(testProcs);

            var store = new ProcessesStore(ProcessRepo.Object);
            var procs = store.GetAll();

            Assert.That(procs, Is.InstanceOf(typeof(IEnumerable <IProcessModel>)));
            Assert.That(!procs.Any());
        }
        public void ProcessesStore_GetAll_ShouldReturnCollectionFromRepoAfterRefresh()
        {
            var testProcs = new IProcessModel[] { new ProcessModel() };

            ProcessRepo.Setup(r => r.GetAll()).Returns(testProcs);

            var store = new ProcessesStore(ProcessRepo.Object);

            store.Refresh();
            var procs = store.GetAll();

            Assert.That(procs, Is.EqualTo(testProcs));
        }
        /// <summary>   Sends the notifications with the list of messages from processes which exceeded load limits. </summary>
        ///
        /// <seealso cref="M:ProcessViewer.Persistence.Stores.Abstract.IProcessesStore.SendNotifications()"/>

        public void SendNotifications()
        {
            var messages = LoadCheckerRunner.GetNotifications(ProcessesStore.GetAll());

            if (messages == null)
            {
                return;
            }

            foreach (var notificationMessage in messages)
            {
                ProcessHighLoad?
                .Invoke(this, new ProcessHighLoadEventArgs(
                            notificationMessage));
            }
        }