public void TestFrameArrivedSingleThread()
        {
            FrameHandler frameHandler = new FrameHandler(1, ActionFrame, false);

            frameHandler.Handler_FrameArrived(sender, eventArgs);
            Assert.AreEqual(1, counter);
        }
        public void TestFrameArrivedMultithread()
        {
            FrameHandler frameHandler = new FrameHandler(1, ActionFrame);

            frameHandler.Handler_FrameArrived(sender, eventArgs);
            finishedEvent.Wait();
            Assert.AreEqual(1, counter);
        }
        public void TestFrameArrivedNullMultiSourceFrame()
        {
            Isolate.WhenCalled(() => eventArgs.FrameReference.AcquireFrame()).WillReturn(null);
            FrameHandler frameHandler = new FrameHandler(1, ActionFrame, false);

            frameHandler.Handler_FrameArrived(sender, eventArgs);
            Assert.AreEqual(0, counter);
            Assert.AreEqual(0, frameId);
        }
        public void TestFrameArrivedFinished()
        {
            FrameHandler frameHandler = new FrameHandler(0, ActionFrame, false);

            frameHandler.Finished += Finished;
            frameHandler.Handler_FrameArrived(sender, eventArgs);
            Assert.IsTrue(isFinished);
            Assert.AreEqual(0, counter);
            Assert.AreEqual(0, frameId);
        }