public void ProcessNow()
        {
            MockProcessable mockProcessable = new MockProcessable();

            subject.Source = new ProcessContainer
            {
                Interface = mockProcessable
            };
            containingObject.SetActive(true);
            Assert.IsFalse(mockProcessable.WasProcessCalled);
            mockProcessable.Reset();

            subject.ProcessNow();
            Assert.IsTrue(mockProcessable.WasProcessCalled);
            mockProcessable.Reset();

            subject.enabled = false;
            subject.ProcessNow();
            Assert.IsFalse(mockProcessable.WasProcessCalled);
            mockProcessable.Reset();

            subject.enabled = true;
            containingObject.SetActive(false);
            subject.ProcessNow();
            Assert.IsFalse(mockProcessable.WasProcessCalled);
            mockProcessable.Reset();

            containingObject.SetActive(true);
            subject.Source = null;
            subject.ProcessNow();
            Assert.IsFalse(mockProcessable.WasProcessCalled);
        }
        public void Process()
        {
            MockProcessable mockProcessable = new MockProcessable();

            subject.Source = new ProcessContainer
            {
                Interface = mockProcessable
            };
            containingObject.SetActive(true);
            Assert.IsFalse(mockProcessable.WasProcessCalled);

            subject.Process();
            Assert.IsTrue(mockProcessable.WasProcessCalled);
            mockProcessable.Reset();

            subject.NextProcessTime = Time.time + 1f;
            Assert.IsFalse(mockProcessable.WasProcessCalled);
        }