public void ObserverShouldOnlyReceiveSubscribedNotifications() { // Arrange var eventAggregator = new EventAggregator(); var observer1 = new Mock<IObserve<TestEvent>>(); var observer2 = new Mock<IObserve<OtherEvent>>(); eventAggregator.Subscribe(observer1.Object); eventAggregator.Subscribe(observer2.Object); var testEvent = new TestEvent(); var otherEvent = new OtherEvent(); // Act eventAggregator.Publish(testEvent); eventAggregator.Publish(otherEvent); // Assert observer1.Verify(x => x.OnNext(It.IsAny<IEvent>()), Times.Once); observer1.Verify(x => x.OnNext(testEvent), Times.Once); observer2.Verify(x => x.OnNext(otherEvent), Times.Once); }
public void TestEventTypeCheck() { var @event = new OtherEvent(); var binder = new AssertingStaticEventBinder(); var engine = new DefaultEventEngine <IGameContext>(new StandardKernel(), new[] { binder }); engine.Fire(null, @event); }
public void ShouldDecideIfSubscriptionCanHandleEventByInstance() { var eventOfSameType = new MyEvent(); var eventOfOtherType = new OtherEvent(); var handler = new Func <MyEvent, Task>(cmd => Task.CompletedTask); var testee = new EventSubscription <MyEvent>(handler); testee.CanHandle(eventOfSameType).Should().BeTrue(); testee.CanHandle(eventOfOtherType).Should().BeFalse(); }
public async Task EventStart(OtherEvent e) { switch (e) { #if GLOBAL_NADEKO case CurrencyEvent.BotListUpvoters: await BotListUpvoters(arg); break; #endif default: await Task.CompletedTask; return; } }
private void CollisionDetected(PhysicsComponent Component, PhysicsComponent Other, bool TriggerRemaining) { if (this.IsDisposed) // Prevent firing multiple times. { return; } if (this.LastTriggered.HasValue && (DateTime.Now - this.LastTriggered.Value) < MinimumTriggerDelay) { return; // Limit to MinimumTriggerDelay since the last event. } var Classification = Other.Parent.GetComponent <ClassificationComponent>(); if (_Classification != EntityClassification.Any && (Classification == null || (Classification.Classification & this.Classification) == 0)) { return; } bool Valid = OnCollision(Other.Parent, Classification == null ? EntityClassification.Unknown : Classification.Classification); if (Valid) { this._LastTriggered = DateTime.Now; if (DisposeOnCollision) { this.Dispose(); if (TriggerRemaining) { // TODO: This should only trigger things not already triggered for this collision. // (Aka, DisposeOnCollision is false and already triggered before this one). foreach (var OtherEvent in Parent.Components.Select(c => c as CollisionEventComponent).Where(c => c != null && c != this).ToArray()) { OtherEvent.CollisionDetected(Component, Other, false); } Parent.Dispose(); } } } }
public void BaseObserverReceivesAllEvents() { // Arrange var eventAggregator = new EventAggregator(); var observer1 = new Mock<IObserve<IEvent>>(); var observer2 = new Mock<IObserver<IEvent>>(); eventAggregator.Subscribe(observer1.Object); eventAggregator.Subscribe(observer2.Object); var testEvent = new TestEvent(); var otherEvent = new OtherEvent(); // Act eventAggregator.Publish(testEvent); eventAggregator.Publish(otherEvent); // Assert observer1.Verify(x => x.OnNext(It.IsAny<IEvent>()), Times.Exactly(2)); observer2.Verify(x => x.OnNext(It.IsAny<IEvent>()), Times.Exactly(2)); }
public void Handle(OtherEvent ev) { this.Set("other", true); }
protected void OnOtherEvent(OtherEventType e) { OtherEvent?.Invoke(this, e); }
public void UserDraftsReturned() { var myUser = new MeUser() { UserId = "123" }; var otherUser = new MeUser() { UserId = "456" }; var myUserDraft = new OtherEvent() { EventId = "2", IsFinal = false, Text = "draft user one", UserId = "123", Created = DateTime.Now }; var otherUserDraft = new OtherEvent() { EventId = "3", IsFinal = false, Text = "draft user other", UserId = "456", Created = DateTime.Now }; var latest = new OtherEvent() { EventId = "1", IsFinal = true, Text = "The others", UserId = "123", Created = DateTime.Now }; var drafts = new[] { otherUserDraft }; var history = new[] { latest }; var caseBreakdown = new CaseBreakDown() { OtherEvents = new OtherEventContainer() { Drafts = drafts, Latest = latest, History = history } }; var examination = new Examination() { CaseBreakdown = caseBreakdown }; var result = _mapper.Map <CaseBreakDownItem>(examination, opt => opt.Items["user"] = myUser); Assert.Equal(latest.EventId, result.OtherEvents.Latest.EventId); result.OtherEvents.History.Should().BeEquivalentTo(history); Assert.Null(result.OtherEvents.UsersDraft); var otherResult = _mapper.Map <CaseBreakDownItem>(examination, opt => opt.Items["user"] = otherUser); Assert.Equal(latest.EventId, result.OtherEvents.Latest.EventId); otherResult.OtherEvents.History.Should().BeEquivalentTo(history); Assert.Equal(otherUserDraft.EventId, otherResult.OtherEvents.UsersDraft.EventId); }