public void SetUp()
        {
            containingObject = new GameObject();
            containingObject.SetActive(false);

            subject = containingObject.AddComponent <MomentProcess>();
        }
        public void Process()
        {
            MockProcessable mockProcessable1 = new MockProcessable();
            MomentProcess   momentProcess1   = containingObject.AddComponent <MomentProcess>();

            momentProcess1.Source = new ProcessContainer
            {
                Interface = mockProcessable1
            };
            MockProcessable mockProcessable2 = new MockProcessable();
            MomentProcess   momentProcess2   = containingObject.AddComponent <MomentProcess>();

            momentProcess2.Source = new ProcessContainer
            {
                Interface = mockProcessable2
            };
            subject.Processes.Add(momentProcess1);
            subject.Processes.Add(momentProcess2);

            Assert.IsFalse(mockProcessable1.WasProcessCalled);
            Assert.IsFalse(mockProcessable2.WasProcessCalled);
            subject.Process();
            Assert.IsTrue(mockProcessable1.WasProcessCalled);
            Assert.IsTrue(mockProcessable2.WasProcessCalled);
        }
Beispiel #3
0
        public void ProcessNestedList()
        {
            MockProcessable mockProcessable1 = new MockProcessable();
            MomentProcess   momentProcess1   = containingObject.AddComponent <MomentProcess>();

            momentProcess1.Source = new ProcessContainer
            {
                Interface = mockProcessable1
            };
            MockProcessable mockProcessable2 = new MockProcessable();
            MomentProcess   momentProcess2   = containingObject.AddComponent <MomentProcess>();

            momentProcess2.Source = new ProcessContainer
            {
                Interface = mockProcessable2
            };
            subject.Processes.Add(momentProcess1);
            subject.Processes.Add(momentProcess2);

            GameObject       anotherObject           = new GameObject();
            CompositeProcess anotherCompositeProcess = anotherObject.AddComponent <CompositeProcess>();

            anotherCompositeProcess.Processes = anotherObject.AddComponent <MomentProcessObservableList>();

            MockProcessable mockProcessable3 = new MockProcessable();
            MomentProcess   momentProcess3   = containingObject.AddComponent <MomentProcess>();

            momentProcess3.Source = new ProcessContainer
            {
                Interface = mockProcessable3
            };
            MockProcessable mockProcessable4 = new MockProcessable();
            MomentProcess   momentProcess4   = containingObject.AddComponent <MomentProcess>();

            momentProcess4.Source = new ProcessContainer
            {
                Interface = mockProcessable4
            };
            anotherCompositeProcess.Processes.Add(momentProcess3);
            anotherCompositeProcess.Processes.Add(momentProcess4);

            MomentProcess nestedProcess = containingObject.AddComponent <MomentProcess>();

            nestedProcess.Source = new ProcessContainer
            {
                Interface = anotherCompositeProcess
            };
            subject.Processes.Add(nestedProcess);

            Assert.IsFalse(mockProcessable1.WasProcessCalled);
            Assert.IsFalse(mockProcessable2.WasProcessCalled);
            Assert.IsFalse(mockProcessable3.WasProcessCalled);
            Assert.IsFalse(mockProcessable4.WasProcessCalled);
            subject.Process();
            Assert.IsTrue(mockProcessable1.WasProcessCalled);
            Assert.IsTrue(mockProcessable2.WasProcessCalled);
            Assert.IsTrue(mockProcessable3.WasProcessCalled);
            Assert.IsTrue(mockProcessable4.WasProcessCalled);
        }
 public void AddMoments(MomentProcessor localProcessor, MomentProcess remoteProcess)
 {
     if (localProcessor == null || localProcessor.Processes == null || remoteProcess == null)
     {
         return;
     }
     localProcessor.Processes.AddUnique(remoteProcess);
 }
Beispiel #5
0
        public void AddMoments(MomentProcess localProcess, MomentProcess remoteProcess)
        {
            if (localProcess == null || remoteProcess == null)
            {
                return;
            }

            var localCompositeProcess = (CompositeProcess)localProcess.Source.Interface;

            localCompositeProcess.Processes.AddUnique(remoteProcess);
        }