コード例 #1
0
        public void Setup()
        {
            _graphBuilder = new EventGraphBuilder();
            var graph = _graphBuilder.WaitForSignalEvent(ScheduleId.Raw("id"), 10, new [] { "e1", "e2" }, SignalWaitType.Any);

            _event = new WaitForSignalsEvent(graph, Enumerable.Empty <HistoryEvent>());
        }
コード例 #2
0
        public void No_more_waits_when_second_signal_is_received()
        {
            var w = _graphBuilder.WaitForSignalEvent(ScheduleId.Raw("id"), 10, new[] { "e1", "e2" }, SignalWaitType.Any);
            var r = _graphBuilder.WorkflowItemSignalledEvent(ScheduleId.Raw("id"), 10, "e2");

            var @event = new WaitForSignalsEvent(w, new[] { r, w });

            Assert.That(@event.WaitingSignals, Is.Empty);
            Assert.That(@event.IsExpectingSignals, Is.False);
        }
コード例 #3
0
        public void Keep_waiting_when_resumed_signal_is_for_differnt_trigger_event_id()
        {
            var w = _graphBuilder.WaitForSignalEvent(ScheduleId.Raw("id"), 10, new[] { "e1", "e2" }, SignalWaitType.Any);
            var r = _graphBuilder.WorkflowItemSignalledEvent(ScheduleId.Raw("id"), 11, "e2");

            var @event = new WaitForSignalsEvent(w, new[] { r, w });

            Assert.That(@event.WaitingSignals, Is.EqualTo(new[] { "e1", "e2" }));
            Assert.That(@event.IsExpectingSignals, Is.True);
        }
コード例 #4
0
        public void Keeps_waiting_when_second_signal_is_received()
        {
            var w = _graphBuilder.WaitForSignalEvent(ScheduleId.Raw("id"), 10, new[] { "e1", "e2" }, SignalWaitType.All);
            var r = _graphBuilder.WorkflowItemSignalledEvent(ScheduleId.Raw("id"), 10, "e2");

            var @event = new WaitForSignalsEvent(w, new[] { r, w });

            Assert.That(@event.WaitingSignals, Is.EqualTo(new[] { "e1" }));
            Assert.That(@event.IsExpectingSignals, Is.True);
        }