public void TrackExecuteRequests()
        {
            var client = new KernelClient(KernelManagerMock.Object, ChannelFactoryMock.Object);

            client.StartChannels();
            client.Execute("test");
            Assert.IsTrue(client.HasPendingExecute());
            Assert.AreEqual(1, client.GetPendingExecuteCount());

            client.Execute("test");
            Assert.IsTrue(client.HasPendingExecute());
            Assert.AreEqual(2, client.GetPendingExecuteCount());
        }
        public void AbandonOutstandingExecuteLogEntries_Empty()
        {
            var client = new KernelClient(KernelManagerMock.Object, ChannelFactoryMock.Object);

            client.AbandonOutstandingExecuteLogEntries();
            Assert.IsFalse(client.HasPendingExecute());
        }
        public void AbandonOutstandingExecuteLogEntries_AllAreComplete()
        {
            var client = new KernelClient(KernelManagerMock.Object, ChannelFactoryMock.Object);

            client.ExecuteLog.Add("test1", new ExecutionEntry()
            {
                Complete = true
            });
            client.ExecuteLog.Add("test2", new ExecutionEntry()
            {
                Complete = true
            });
            Assert.IsFalse(client.HasPendingExecute());

            client.AbandonOutstandingExecuteLogEntries();
            Assert.IsFalse(client.HasPendingExecute());
        }
        public void ClearExecuteLog()
        {
            var client = new KernelClient(KernelManagerMock.Object, ChannelFactoryMock.Object);

            client.StartChannels();
            client.Execute("test");
            client.ClearExecuteLog();
            Assert.IsFalse(client.HasPendingExecute());
            Assert.AreEqual(0, client.GetPendingExecuteCount());
        }