Пример #1
0
        public void should_process_event_when_triggered()
        {
            var mockEventSystem = Substitute.For <IEventSystem>();
            var dummySubject    = new Subject <ComplexObject>();

            mockEventSystem.Receive <ComplexObject>().Returns(dummySubject);

            var mockSystem  = Substitute.For <IReactToEventSystem <ComplexObject> >();
            var dummyObject = new ComplexObject(10, "Bob");

            var systemHandler = new ReactToEventSystemHandler(mockEventSystem);

            systemHandler.SetupSystem(mockSystem);
            dummySubject.OnNext(dummyObject);

            mockSystem.Received(1).Process(Arg.Is(dummyObject));
        }
Пример #2
0
        public void should_process_events_with_multiple_interfaces()
        {
            var mockEventSystem    = Substitute.For <IEventSystem>();
            var dummyObjectSubject = new Subject <ComplexObject>();
            var dummyIntSubject    = new Subject <int>();

            mockEventSystem.Receive <ComplexObject>().Returns(dummyObjectSubject);
            mockEventSystem.Receive <int>().Returns(dummyIntSubject);

            var mockSystem  = Substitute.For <ITestMultiReactToEvent>();
            var dummyObject = new ComplexObject(10, "Bob");
            var dummyInt    = 100;

            var systemHandler = new ReactToEventSystemHandler(mockEventSystem);

            systemHandler.SetupSystem(mockSystem);
            dummyObjectSubject.OnNext(dummyObject);
            dummyIntSubject.OnNext(dummyInt);

            mockSystem.Received(1).Process(Arg.Is(dummyObject));
            mockSystem.Received(1).Process(Arg.Is(dummyInt));
        }