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)); }
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)); }